【问题标题】:Have changes while debugging affect actual Database在调试时进行更改会影响实际数据库
【发布时间】:2016-10-18 04:54:08
【问题描述】:

我最近一直在尝试让自己进入一些 EntityFramework。

我现在的问题与this question 中的问题几乎相同,但那里给出的解决方案似乎相当“变通”和狡猾。

我希望使用dbContext.SaveChanges() 将更改保存到数据库中,以影响我在项目中创建的实际数据库,而不是每次运行代码时生成的数据库。 由于我将在工作项目中使用它,我想知道是否有比链接问题中提出的更顺畅、更清洁的方法。

我尝试将app.config 中的data source 从原来的(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\Database.mdf 更改为直接路径(我想这不是它的工作方式)。

【问题讨论】:

  • 不知道 EF 是如何配置的,这里没有什么可做的。
  • 如果要使用实际数据库,请使用实际数据库。
  • 老实说,我刚刚创建了一个新项目,添加了一个 EF-Reference,创建了一个新模型,添加了数据库,生成了表并添加了代码生成位。所以我真的不知道这个配置是什么或者我会在哪里配置它。是否有我正在寻找的选项?
  • @Amy ,我希望更改能够影响我在项目中添加的数据库文件。出于离线演示和解决方案“可移植性”的原因,我不想在实际服务器上使用它。
  • EF 中没有不同的初始化选项吗?我已经有一段时间没有使用它了。您有 db.CreateIfNotExists、DropCreateIfModelChanges 等,对吗?那没了?听起来您的项目设置为某种 DropCreateAlways。

标签: c# visual-studio entity-framework-6


【解决方案1】:

所以我编辑app.config 几乎是正确的。

您必须将attachdbfilename=|DataDirectory|\Database.mdf 编辑为Path\To\Project\Database.mdf。因为|DataDirectory| 将使connectionString 指向\bin\debug\Database.mdf,这是您在项目中创建的数据库的副本。正如this post所指出的那样。

我自己猜到了,但我会怪我太累了。

【讨论】:

    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多