这是我的情况:我已经在 ASP.NET MVC 3 应用程序上工作了一段时间。它有一个数据库(由一个 db 项目构建;我将首先使用 db),为此我有一个 edmx 模型,然后是一组 POCO。我的实体在数据库中有复数名称,而 POCO 有单数名称。一切都很好地映射没有问题。
或者习惯了,直到我添加了一个新表(称为 TransactionStatuses)。现在所有旧实体仍然有效,但新实体却不行。当我尝试将它与相关实体一起加载时:
var transactions = (from t in db.Transactions.Include(s => s.TransactionStatus) //TransactionStatus - navigation property in Transactions to TransactionStatuses
where t.CustomerID == CustomerID
select t).ToList();
我明白了
无效的对象名称“dbo.TransactionStatus”。
我什至做了一个更简单的测试:
List<TransactionStatus> statuses = db.TransactionStatuses.ToList();
= 结果相同。
我已经从 db 更新(甚至重新创建)edmx 并反复检查它,试图找出 dbo.TransactionStatus* es * 的映射有什么不同,这会使整个事情出错。
如果有人能指出我的修复方向,那就太好了。
PS关闭复数不是一种选择,谢谢。
更新:我想通了-我的回答如下。