异常使用Linq查询EF Code首先在SQL Server表
本文关键字:SQL Server Code Linq 查询 EF 异常 | 更新日期: 2023-09-27 18:11:02
我首先针对我的DB(特别是一个名为tblExpenseMain的表)设置了EF代码。
在我的控制器中,我试图将我的'ExpenseMain'类的实例传递给视图,以便可以呈现详细信息。手动创建实例并传递它可以工作:
ExpenseMain em = new ExpenseMain { Card_Number = "123", UniqueID_ERLineID = "blah", Item_Amount = 500, Item_Expense_Type = "something"};
return View("_Basic");
但是尝试像这样用LINQ查询它会给我一个异常:
ExpenseMain model = (from e in db.ExpenseMains
where e.UniqueID_ERLineID == transUniqueID
select e).SingleOrDefault();
它告诉我检查innerexception以找到问题。我用try/catch包围了它,innerexception消息是:
e.InnerException。消息= "无效的对象名称'dbo.ExpenseMains'。"
有什么建议我做错了吗?我希望linq查询只是抓取我的单个实例,并从那里走。将'Expensemain model'更改为'var model',并查看var变成了什么,确认它变成了'Expensemain'。
谢谢
如果您的类名与表名不同,那么您必须配置EF来映射它们。您可以使用table属性并给出表名。
[Table("tblExpenseMain")]
public class ExpenseMain
{
//properties
}
您的解决方案中有几个数据访问层吗?可能是ExpenseMain是一个旧实体,而不是从EF生成的。再次检查是否存在类似的实体
看起来这里有两个类:ExpenseMain
和ExpenseMains