【问题标题】:LocalDB database on fly for entity framework code first用于实体框架代码的 LocalDB 数据库
【发布时间】:2014-03-13 23:32:01
【问题描述】:

是否可以在运行时(在运行时)创建一个 mdf 文件并以代码优先的方式将其与实体框架 6 一起使用?

我需要这样的东西:

if (mydb.mdf not exists)
    createmdf();

mycontext ctx = new mycontext(mydb.mdf connection string)
ctx.CreateDatabase();

谢谢

【问题讨论】:

  • 我的回答对你有好处吗?请考虑接受对您的问题有帮助的答案。因为我注意到您没有接受所有问题的任何答案。
  • 嗨瓦希德,感谢您的关注。不,不幸的是,您的答案不是我想要的。很多人经常复制和粘贴一些文本,希望获得一些分数。这不是您的情况,但是,您知道... 困难的是我不想使用配置连接字符串,但我想每次都指定一个。我想使用 MDF 文件作为我的应用程序的项目文件,因此我不能使用配置部分中指定的相同文件。我的应用程序必须能够创建和管理不同的 mdf 文件。

标签: c# entity-framework localdb


【解决方案1】:

试试这个

context.Database.CreateIfNotExists();

你可以在你的上下文构造函数中做这样的事情

public YourDBContext(): base("YourDBConnectionString") 
{
    Database.SetInitializer<YourDBContext>(new CreateDatabaseIfNotExists<YourDBContext>());
    //Database.SetInitializer<YourDBContext>(new DropCreateDatabaseIfModelChanges<YourDBContext>());
}

这将使用web.config 文件中的连接字符串并尝试查找数据库。如果数据库不存在,它将根据您定义的模型创建它。

更新:

也请看this answer

【讨论】:

  • 嗨@WahidBitar - 为了方便观察菜鸟,你能解释一下你的解决方案为什么/如何实际解决问题吗? :)
  • @TarynEast - 我添加了一些解释,希望这会有所帮助。并感谢您的支持:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多