【发布时间】:2013-02-01 13:59:29
【问题描述】:
我有一个简单的edmx,有两张桌子。这些表由一个 Navigation Property 关联。 (一对多)。
当我运行我的代码时,我得到一个 Exception: "Invalid Object Name dbo.Enquiries"
数据库中没有dbo.Enquiries(实际上叫dbo.Enquiry),所以错误本身是不言自明的。 但它在哪里找到该名称,我该如何解决?
已按要求显示代码。
var foo = (from d in context.Dealerships
join e in context.Enquiry
on d.Id equals e.DealershipId
where (d.ParentBusinessId == id)
select d).AsEnumerable();
这是生成的sql。
foo {SELECT
[Extent1].[Id] AS [Id],
[Extent1].[BusinessName] AS [BusinessName]
FROM [dbo].[Dealerships] AS [Extent1]
INNER JOIN [dbo].[Enquiries] AS [Extent2] ON [Extent1].[Id] =
[Extent2].[DealershipId]
WHERE [Extent1].[ParentBusinessId] = @p__linq__0}
但是对于我的生活,我看不到它是在哪里/如何决定将名称 Inquiry 更改为 Inquiries on the inner join。
【问题讨论】:
-
什么时候运行“哪个”代码?
-
我没有看到显示代码的任何意义,因为它所做的只是尝试从 2 个表中提取。如果我随后在调试器中进行调查,则主表中的数据在那里,但辅助表中的数据不在那里。调试器中的 SQL 显示它正在寻找错误的表,因此我认为这是其中一位设计师的问题,但我将编辑以显示代码。
标签: c# entity-framework datacontext