C# 在SQL Server表上首先使用带有EF代码的Linq查询时出现异常
我首先针对我的数据库(特别是一个名为tblExpenseMain的表)设置了EF代码 在我的控制器中,我试图将“ExpenseMain”类的一个实例传递给视图,以便显示详细信息。手动创建一个实例并传递它:C# 在SQL Server表上首先使用带有EF代码的Linq查询时出现异常,c#,linq,entity-framework-4,ef-code-first,C#,Linq,Entity Framework 4,Ef Code First,我首先针对我的数据库(特别是一个名为tblExpenseMain的表)设置了EF代码 在我的控制器中,我试图将“ExpenseMain”类的一个实例传递给视图,以便显示详细信息。手动创建一个实例并传递它: ExpenseMain em = new ExpenseMain { Card_Number = "123", UniqueID_ERLineID = "blah", Item_Amount = 500, Item_Expense_Type = "something"};
ExpenseMain em = new ExpenseMain { Card_Number = "123", UniqueID_ERLineID = "blah", Item_Amount = 500, Item_Expense_Type = "something"};
return View("_Basic");
但尝试用LINQ like so查询它会给我一个例外:
ExpenseMain model = (from e in db.ExpenseMains
where e.UniqueID_ERLineID == transUniqueID
select e).SingleOrDefault();
它告诉我检查innerexception以找到问题。我用try/catch将其包围,innerexception消息是:
e、 InnerException.Message=“无效的对象名称'dbo.ExpenseMains'。”
对我做错了什么有什么建议吗?我希望linq查询能够抓住我的一个实例并从那里开始。将“Expensemain模型”更改为“var模型”,并查看var的变化情况,确认它仍然成为“Expensemain”
谢谢您的sulotion中有多个数据访问层吗?是否ExpenseMain是一个旧实体,而不是由EF生成的。再次检查是否也没有tblExpenseMain实体或类似实体
希望这有帮助。如果类名与表名不同,则必须配置EF来映射它们。您可以使用table属性并指定表名
[Table("tblExpenseMain")]
public class ExpenseMain
{
//properties
}
看起来你这里有两个类:
ExpenseMain
和ExpenseMain
谢谢,我没有,但缺少对DB表的引用。干杯,这是EF Dbset集合类,它由一系列单独的费用和主要项目组成。谢谢