如何在现有远程数据库中添加表并将其链接到实体框架模型?

Posted

技术标签:

【中文标题】如何在现有远程数据库中添加表并将其链接到实体框架模型?【英文标题】:How to add table in existing remote database and link it to Entity Framework model? 【发布时间】:2014-12-20 01:11:30 【问题描述】:

我在发帖前尝试找到这个问题的答案,但找不到。

我们正在使用带有实体框架的远程数据库,我不知道它用于创建数据库的方法。我想做的是向项目添加一个类,将类添加到 DbSet 并自动创建表。现在,当我在 nuget 中使用 update-database 时,我得到“未启用此数据库的迁移”,这是真的,没有配置文件或任何暗示它用于创建此数据库的方法。

我不想启用迁移,因为我不想搞砸或丢失数据。 (或者我应该?)现有的表在存储库中运行良好......

我手动创建了一个表,添加了一个按名称映射属性的类,并希望实体框架能够接受它,但没有运气。

简而言之:我想在远程数据库中添加一个新表,Entity Framework 将获取该表并为我生成一个类。也没有可以更新模型的 .edmx 文件。那是怎么做到的……(?)

我是 Entity Framework 的新手,所以很抱歉,其中一些没有意义。我很高兴澄清。

谢谢,

【问题讨论】:

msdn.microsoft.com/en-US/data/ee712907#codefirst 查看链接中的 4 个视频。我只是想写代码......或者我想使用设计师......他们向您展示了如何做到这一点。我希望他们有所帮助。 您可能没有将类映射到表,或者表和类名不匹配。 【参考方案1】:

感谢您的回复。我设法通过在存储库中添加一个新类来解决这个问题,使用代码优先的方法,然后我在数据库中手动创建了一个表。实体框架以某种方式将其拾取:)

我以前这样做过,但问题是我将 DbSet 名称设为复数,而将数据库名称设为单数。例如: Products 是数据库中的 DbSet 名称和 Product 表。实际的类仍然是单数。

再次感谢!

【讨论】:

以上是关于如何在现有远程数据库中添加表并将其链接到实体框架模型?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用实体框架将相同的披萨添加到订单表

使用实体框架添加记录时违反链接记录的PRIMARY KEY约束

EF继承/基类问题

实体框架:使用现有数据(种子)填充多对多关系

现有软件可以远程使用应用程序中的 iOS 日志吗?

如何使用 .net 核心实体框架迁移更新表(而不是重新创建它们)