![](/img/trans.png)
[英]Entity Framework Code First generates two foreign key columns in database when creating a 1:n relationship
[英]Creating Code First 1:1 relationship in entity framework results in two foreign key fields
我正在嘗試在Customer和MembershipType之間的兩個Entity Framework代碼優先模型之間創建1:1關系。 他們的模型是:
Customer.cs
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Vidly.Models
{
public class Customer
{
public int Id { get; set; }
[Required]
[StringLength(255)]
public string Name { get; set; }
public bool IsSubscribedToNewsletter { get; set; }
public MembershipType MembershipType { get; set; }
[Display(Name = "Membership Type")]
public byte MembershipTypeId { get; set; }
[Display(Name = "Date of Birth")]
public DateTime? Birthdate { get; set; }
}
}
MembershipType.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Vidly.Models
{
public class MembershipType
{
public int Id { get; set; }
public string Name { get; set; }
public short SignupFee { get; set; }
public byte DurationInMonths { get; set; }
public byte DiscountRate { get; set; }
}
}
為什么會這樣? 嘗試使用HTML幫手創建下拉框時,這會引起問題,因為在保存時,它想將數據放入MembershipTypeId列,但看來實體實際上正在使用MembershipType_Id列。
您可以嘗試以下代碼:
namespace Vidly.Models
{
public class Customer
{
public int Id { get; set; }
[Required]
[StringLength(255)]
public string Name { get; set; }
public bool IsSubscribedToNewsletter { get; set; }
[Display(Name = "Membership Type")]
public byte MembershipTypeId { get; set; }
[Display(Name = "Date of Birth")]
public DateTime? Birthdate { get; set; }
public virtual MembershipType MemshipType { get; set; }
}
public class MembershipType
{
public int Id { get; set; }
public string Name { get; set; }
public short SignupFee { get; set; }
public byte DurationInMonths { get; set; }
public byte DiscountRate { get; set; }
public virtual Customer customer{ get; set; }
}
}
有關更多信息以及執行此操作的其他方式,請參考此有用的鏈接: http : //www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-first.aspx
希望對您有所幫助
謝謝
KARTHIK
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.