当前位置: 首页 > 编程语言 > C#

EF:一对一关系共享

时间:2023-04-11 12:06:39 C#

EF:一对一关系我正在尝试建立双向一对一关系。但是,我无法使两个实体的双向设置正常工作。例如,假设一个人有一个电话号码,一个电话号码只能关联一个人。我会:publicclassPerson:Entity{publiclongPersonId{get;放;}publicvirtualPhoneNumberPhoneNumber{get;放;}}publicclassPhoneNumber:Entity{publiclongPhoneNumberId{get;重新安排,我无法进行双向设置。即我不能有phoneNumber.Person。我试过:publicclassPhoneNumber:Entity{publiclongPhoneNumberId{get;放;}[InverseProperty("PersonId")]publicvirtualPersonPerson{get;放;当我执行以下代码时这似乎不起作用:varrealNumber=newPhoneNumber();varperson=newPerson(){PhoneNumber=realNumber};context.SaveChanges();在这里,PhoneNumber实体有一个列Person(设置为NULL),这个人有一个列PhoneNumber(有一个值)。这对我有用。以上就是C#学习教程:EF:一对一关系分享。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注—namespaceEf1to1{publicclassTestContext:DbContext{publicTestContext():base("DataSource=127.0.0.1;database=Junk;IntegratedSecurity=SSPI;"){}publicDbSetPersons{get;放;}publicDbSetPhoneNumbers{get;放;}}[Table("Person")]publicclassPerson{[Key,Column("PersonId")]publiclongId{get;放;}publicvirtualPhoneNumberphoneNumber{get;放;}}[Table("PhoneNumber")]publicclassPhoneNumber{[Key,Column("PhoneNumberId"),ForeignKey("person")]publiclongId{get;放;}publicvirtualPersonperson{get;放;}}publicclassProgram{staticvoidMain(string[]args){varrealNumber=newPhoneNumber();varperson=newPerson(){phoneNumber=realNumber};varcontext=newTestContext();context.Persons.Add(person);context.SaveChanges();}}本文收集自网络,不代表立场。如果涉及侵权请点击维权联系管理员删除如需转载请注明出处: