所以我遇到了一些事情,想知道你是否可以帮助我。我对 MS MVC 2 和 Entity Framework 4.0 非常陌生(这是我使用这些语言的第一个项目)。我使用模型优先方法和图形设计器绘制了一个模型。我还没有它的 SQL 数据库,我认为它只是在断开连接的情况下工作,但也许我只是忘记了我在某处指定了一个连接字符串。因此,我开始使用 EF 中新创建的类型来启动和运行 MVC 组件。我正在尝试使用存储库模式以及 Ninject 进行依赖注入。所以在我不得不担心实际的数据存储之前,我有很多时间。这让我想到了我的问题:我现在就在那个时候。
我认为它附加到一个 .mdf 文件并在 SQLExpress 实例上运行它,但我真的找不到任何支持它的东西。我没有安装 SSMS,所以我不知道如何正确检查。最终启动并运行,没有分贝。所以现在我很困惑这实际上是在哪里连接的,如果有的话。我认为这太奇怪了,想重新开始。我为模型生成了 SQL 脚本,并在 SSMS 中创建了一个新的数据库来运行该脚本。运行脚本,一切正常。然后我进入 VS 并运行 Database First 场景。因此,模型现在显示了我所有的表,并通过将它们指定为不应该的键来有效地搞砸了一些字段。解决了这个问题,现在我又回到了最初让我感到沮丧的问题上。
我有一个用户表,其中有一个应该是 Guid 的 userId 字段,但在最初的建模过程中我错过了它,它是一个 varchar 字段。我无法修复它下面的映射以将底层(不确定它的实际术语)字段更改为 Guid。我更改了模型的类型,但没有更新数据库。这基本上使我处于一个奇怪的位置。我相信我应该允许 EF 在没有我参与的情况下为我管理 SQL,但如果这是真的,我怎么能推动这样的改变。每次我需要更改架构时,我是否仅限于删除整个数据库?
抱歉,如果这是菜鸟问题中最菜的问题,但我正试图弄清楚所有这些东西,并且真的可以使用一些输入。我使用的最后一个语言集是带有 ADO.Net 类型数据集的 ASP.Net 2.0。我是否最好切换到 Code First 方法?如果我要这样做,我是否必须自己重新开始管理 SQL?
我相信这是我在这里的第一个问题,如果我违反了任何内容,我深表歉意;我想我很清楚。