【发布时间】:2012-09-28 00:54:46
【问题描述】:
实际上我花了一整天的时间在外键的 EntityFramework 上。 假设我们有两个表。 进程(app_id,process_id) LookupProcessId(process_id, process_description)
你可以理解两个有名字的表,第一个表,使用process_id表示每个应用程序,描述在seoncd表中。 实际上我尝试了很多次并弄清楚如何进行查询:就像
Dim result = (from x in db.Processes where x.LookupProcess is (from m in db.LookupProcessIds where descr = "example" select m).FirstOrDefault() select x).FirstOrDefault()
首先我想问有没有更简单的方法。
我想问的第二个问题是关于插入
p As New AmpApplication.CUEngData.Process
p.app_id=100
p.LookupProcess = (from m in db.LookupProcessIds where descr = "example" select m).FirstOrDefault()
db.AddToProcesses(p)
db.SaveChanges()
从外观上看起来不错,但它给我错误说 “AmpCUEngEntities.Processes”中的实体参与“FK_Process_LookupProcess”关系。找到 0 个相关的“LookupProcess”。 1 'LookupProcess' 是预期的。
我能问一下插入错误吗?我的查询是否正确?
【问题讨论】:
-
对于第二部分,是否真的有一个从 LookupProcess 返回的实例?
-
实例返回是什么意思?
-
数据库中是否真的有该描述的记录?
标签: asp.net vb.net entity-framework