프로그래밍 방식으로 LINQ to SQL을 사용하여 데이터베이스를 만들려고합니다.프로그래밍 방식으로 데이터베이스 파일을 만들 수 없음 (SQL Server 2008 R2 Express)
나는 (this 다음) 시도 :
MySQLSvrDb db = new MySQLSvrDb(@"c:\mydb.mdf");
if (!db.DatabaseExists())
{
db.CreateDatabase();
}
하지만 SQLException이 얻을 "같은 이름의 데이터베이스가 존재, 또는 지정된 파일을 열 수 없거나이 UNC 공유에 있습니다."
MySQLSvrDb db = new MySQLSvrDb(@"C:\testdb.mdf");
if (db.DatabaseExists())
{
Console.WriteLine("Deleting old database...");
db.DeleteDatabase();
}
db.CreateDatabase();
이 잘 작동 :
그러나, 단위 테스트를 위해 나는 데이터베이스를 다음과 같은 방법으로 (나는 모든 테스트를위한 빈 DB를 확인하는)을 만들었습니다. 내 문제는 첫 번째 접근 방식과 차이가 없다는 것입니다. 문제가 어떻게 든 this과 관련되어 있지만 제안 된 해결 방법이 작동하지 않았습니다.
힌트가 있습니까?
편집
난 그냥 단계가 작동()을 DatabaseExists를 건너 뛸 수 있지만, 거기에 이미 DB를하면 내가 확인해야합니다.
'factory.CreateDatabase()'와'db.CreateDatabase()'의 차이점은 무엇입니까? – Peter
물론 db.CreateDatabase() 여야합니다. EDITED – Simon
실행중인 코드의 첫 번째 부분은 어떤 컨텍스트입니까? 그것은 asp.net (MVC인가요?), 그렇다면, 그것은 웹 개발, IIS, IIS는 Express에서 실행되는거야? –