첫째, 내가이 물어 보자 :
당신이 당신이 당신의 자신의 Initializer
을 설정하는 경우에 대한 액세스 권한을 얻는 Seed
기능에 대해 잘 알고 있습니까?
예 :이처럼 주요 기능 쓰기 뭔가에
:
System.Data.Entity.Database.SetInitializer(new SystemContext.SystemInitializer());
SystemContext
이 DbContext
클래스입니다.
그리고 그 클래스에서 당신은 같은 것을해야한다 : 나는 주위에 거짓말을 한 프로젝트에서 그냥 템플릿 코드의
public class SystemContext : DbContext
{
public DbSet<Stock> Stocks { get; set; }
public DbSet<RawDayValues> StockRawValues { get; set; }
public SystemContext()
: base("Server=localhost;Database=test;Trusted_Connection=True;")
{ }
public class SystemInitializer : DropCreateDatabaseIfModelChanges<SystemContext>
{
#region SEED
// This is what you're looking for!
protected override void Seed(SystemContext context)
{
try
{
var stock = new Stock() { Symbol = "TEST" };
context.Stocks.Add(stock);
context.SaveChanges();
}
catch (Exception ex) { Console.Error.WriteLine(ex.Message); }
base.Seed(context);
}
#endregion
}
}
합니다.
매번 데이터베이스를 재생성하는 경우 모든 데이터를 "수동으로"추가하지 않고 데이터베이스를 "시드"하는 다른 방법을 모릅니다. 데이터베이스 당신이 그것의 세부 사항을 변경할 때마다을 삭제 아닌 다른 일을 계획하는 경우에, 다른 한편으로
는, 당신은 따라 모든 새로운 데이터를 지우 수동으로 쓰기 기능이있을 수 있습니다 어떤 논리에. 나는이 질문 : ALSO
답변이 되었기를 바랍니다 : 당신은 질문이나 당신에 대해 얘기하고 기술 태그를 사용하여도 지정하지 않았습니다. 나는 그것이 c#, .net 및 entity-framework-4.3.1이라고 가정했습니다. 그렇지 않은 경우 다시 태그 지정/지정하십시오.
당신은 예컨대, 컨텍스트에 대한 초기화를 설정할 수 있습니다 좋은 하루를 :)
+1 a-z 설명으로 답변을 보려면 반갑습니다! –