Linq to SQL没有明确的外键关系
发布时间:2020-12-12 16:16:15 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用一些具有关系的传统表,但是这些关系尚未被明确设置为主键/外键.我使用“Linq To Sql Classes”创建了一个.dbml文件,并建立了适当的Case.CaseID = CaseInfo.CaseID关联.我生成的类是CasesDataContext. 我的表(一对多): Case------------------CaseI
我正在使用一些具有关系的传统表,但是这些关系尚未被明确设置为主键/外键.我使用“Linq To Sql Classes”创建了一个.dbml文件,并建立了适当的Case.CaseID = CaseInfo.CaseID关联.我生成的类是CasesDataContext.
我的表(一对多): Case ------------------ CaseID (int not null) MetaColumn1 (varchar) MetaColumn2 (varchar) MetaColumn3 (varchar) ... CaseInfo ------------------ CaseInfoID (int) CaseID (int nulls allowed) CaseInfoMeta (varchar) ... 我是LinqToSQL的新手,我在做麻烦 CasesDataContext db = new CasesDataContext(); var Cases = from c in db.Cases where c.CaseInfo.CaseInfoMeta == "some value" select c; (编辑)我的问题是CaseInfo或CaseInfos 我听到一个同事,我可以尝试ADO.Net实体数据模型来创建我的数据上下文类,但还没有尝试过,想看看我是否会浪费我的时间,或者我应该走另一条路线.任何提示,链接,帮助将不胜感激. 解决方法回到设计师,检查关系是否正确设置.这是一个现实生活中的例子,BillStateMaster拥有“CustomerMasters1”属性(州的客户):alt text http://i43.tinypic.com/ohl00l.jpg PS.命名正在清理… 更新1:您还需要确保两个表都具有主要定义.如果主键未在数据库中定义(并且由于任何原因而无法定义),请确保在设计器中定义它们.打开列的属性,并将其设置为主键.也就是说,如果您没有实体的主键,则实体跟踪也不起作用,删除意味着它不会更新实体.所以,请确保查看所有实体,并使用主键(如我所说的,如果它不能在数据库上,然后在设计器上). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |