在 Entity Framework 中映射巨大的 table 中的新列

Mapping new columns in a huge table in Entity Framework

我的上游有一个非常大的 table/view(623 列),我需要从中读取源数据以供我的应用程序使用,并且我需要从中读取两个新列(varchar(255) 和位)需要已添加到最新版本中。我们正在使用 Entity Framework 6.0,首先使用数据库。

警告:我无法控制荒谬的列数,但我们可以删除本地副本中不需要的一些列。这是从更远的上游呈现的视图。

我尝试从数据库更新模型,但新列没有添加为标量属性。我手动创建了标量属性(字符串和布尔值),由于没有映射到 table,这显然导致了错误。但是,当我滚动浏览 table 时,我没有看到列表中的列。我可以进入 SQL 和 select 查询中的那些列,所以我知道它们存在。我创建的两个属性显示在映射详细信息的下拉列表中。

EF 拾取的列数是否有上限?或者在首先使用 DB 时将标量属性映射到底层 table 中的列的手动方法?

这至少是一种解决方法:我能够通过从 EDMX 文件中删除 table 然后再次添加它来显示列。旧实体有 579 个映射列,新实体有 623 个。现在我只需要重做所有外键/导航属性,因为源缺少它们...

生成实体花费了相当长的时间,所以我猜 table 的实体自动生成可能存在问题,列数荒谬,正如 Sam 所说,它将与 EF 7.0 无关(希望如此)。