1
존재하지 않는 경우 데이터베이스를 만들려고합니다. 데이터베이스 소스로 sqlite
을 사용하고 Entity Framework
을 사용하고 있습니다. 처음에는 새로운 모델 (코드 우선)을 추가하고 데이터베이스 소스를 현재 디렉토리에 database.db
으로 설정했습니다.존재하지 않는 경우 데이터베이스 만들기
다음으로, 추가 한 간단한 클래스 :
class User {
public int Id { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
물론 데이터베이스 컨텍스트의 :
class TestContext : DbContext {
public DbSet<User> Users { get; set; }
public TestContext() :base("TestModel"){
//Create database always, even If exists
Database.SetInitializer<TestContext>(new DropCreateDatabaseAlways<TestContext>());
}
}
이미 app.config
에 connectionString
했어 :
<connectionStrings>
<add name="TestModel" connectionString="data source="C:\Users\root\Documents\Visual Studio 2015\Projects\dbTEST\dbTEST\bin\Debug\database.db"" providerName="System.Data.SQLite.EF6" />
</connectionStrings>
그리고 이 코드를 실행 한 후 어떤 이유로 든
An unhandled exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll
Additional information: Database 'main' cannot be created because it already exists.
나는이 잘못 이해 못할 :
using (var ctx = new TextContext()) {
ctx.Database.Create();
}
나는 오류가 무엇입니까. 나는 main
데이터베이스의 출처를 모른다. 데이터베이스 파일을 database.db
으로 설정했습니다. 그걸 도와 줄 수있어?
Ef 코어 또는 엔티티 프레임 워크 6에서 수행하려고합니까? –
동일한 문제가 있습니다. 비록 InitializeDatabase를 오버라이드하고 매뉴얼이 존재하지 않는다면 Database.Create()를 수행한다. @ Dawvawd :이 문제를 해결해 본 적이 있습니까? – cmxl