Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在SQL Server表上首先使用带有EF代码的Linq查询时出现异常_C#_Linq_Entity Framework 4_Ef Code First - Fatal编程技术网

C# 在SQL Server表上首先使用带有EF代码的Linq查询时出现异常

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"};

我首先针对我的数据库(特别是一个名为tblExpenseMain的表)设置了EF代码

在我的控制器中,我试图将“ExpenseMain”类的一个实例传递给视图,以便显示详细信息。手动创建一个实例并传递它:

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集合类,它由一系列单独的费用和主要项目组成。谢谢