C# 更新实体框架5,一对一关系 公共类卡:EntityBase { [必需] [MaxLength(16)] [RegularExpression(([0-9]+)”,ErrorMessage=“仅允许数字”)] 公共字符串编号{get;set;} 公共bool IsActive{get;set;} 公共客户客户{get;set;} } 公共类客户:EntityBase { 公众客户() { 地址=新地址(); } [必需] [MaxLength(50)] 公共字符串名称{get;set;} 公共字符串PhoneNumber{get;set;} 公共广播地址{get;set;} [外国钥匙(“卡”)] 公共整数卡\u Id{get;set;} 公共卡{get;set;} } 公共类CustomerConfiguration:EntityTypeConfiguration { 公共客户配置() { HasRequired(x=>x.Card).WithMany().HasForeignKey(x=>x.Card\u Id); } } 静态void CreateCustomer() { 使用(var context=new BenzineFleetContext()) { var卡=var卡=新卡 { Number=“123456” }; context.Cards.Add(卡片); SaveChanges(); } 使用(var context=new BenzineFleetContext()) { var card=context.Cards.First(c=>c.Number==“123456”); var customer=新客户{Name=“Rayz”,Card=Card}; context.Customers.Add(客户); SaveChanges(); } }
我想从数据库创建新客户并使用卡,当我保存到数据库时,表Customer中的card\u Id存在,但表card中的Customer\u Id为空。如何更新表卡中的客户Id 对不起,我的英语不好:( 谢谢您的帮助:)您是否尝试过:C# 更新实体框架5,一对一关系 公共类卡:EntityBase { [必需] [MaxLength(16)] [RegularExpression(([0-9]+)”,ErrorMessage=“仅允许数字”)] 公共字符串编号{get;set;} 公共bool IsActive{get;set;} 公共客户客户{get;set;} } 公共类客户:EntityBase { 公众客户() { 地址=新地址(); } [必需] [MaxLength(50)] 公共字符串名称{get;set;} 公共字符串PhoneNumber{get;set;} 公共广播地址{get;set;} [外国钥匙(“卡”)] 公共整数卡\u Id{get;set;} 公共卡{get;set;} } 公共类CustomerConfiguration:EntityTypeConfiguration { 公共客户配置() { HasRequired(x=>x.Card).WithMany().HasForeignKey(x=>x.Card\u Id); } } 静态void CreateCustomer() { 使用(var context=new BenzineFleetContext()) { var卡=var卡=新卡 { Number=“123456” }; context.Cards.Add(卡片); SaveChanges(); } 使用(var context=new BenzineFleetContext()) { var card=context.Cards.First(c=>c.Number==“123456”); var customer=新客户{Name=“Rayz”,Card=Card}; context.Customers.Add(客户); SaveChanges(); } },c#,entity-framework,C#,Entity Framework,我想从数据库创建新客户并使用卡,当我保存到数据库时,表Customer中的card\u Id存在,但表card中的Customer\u Id为空。如何更新表卡中的客户Id 对不起,我的英语不好:( 谢谢您的帮助:)您是否尝试过: public class Card : EntityBase { [Required] [MaxLength(16)] [RegularExpression("([0-9]+)", ErrorMessage = "Only number allo
public class Card : EntityBase
{
[Required]
[MaxLength(16)]
[RegularExpression("([0-9]+)", ErrorMessage = "Only number allowed")]
public string Number { get; set; }
public bool IsActive { get; set; }
public Customer Customer { get; set; }
}
public class Customer : EntityBase
{
public Customer()
{
Address = new Address();
}
[Required]
[MaxLength(50)]
public string Name { get; set; }
public string PhoneNumber { get; set; }
public Address Address { get; set; }
[ForeignKey("Card")]
public int Card_Id { get; set; }
public Card Card { get; set; }
}
public class CustomerConfiguration : EntityTypeConfiguration<Customer>
{
public CustomerConfiguration()
{
HasRequired(x => x.Card).WithMany().HasForeignKey(x => x.Card_Id);
}
}
static void CreateCustomer()
{
using (var context = new BenzineFleetContext())
{
var card = var card = new Card
{
Number = "123456"
};
context.Cards.Add(card);
context.SaveChanges();
}
using (var context = new BenzineFleetContext())
{
var card = context.Cards.First(c => c.Number == "123456");
var customer = new Customer { Name = "Rayz", Card = card };
context.Customers.Add(customer);
context.SaveChanges();
}
}
似乎您正在添加一张新卡,然后将客户添加到卡如果我添加一张新卡,那么数据库中将是两个对象卡。是的,但您正在创建一张新卡。我希望使用数据库中的现有卡,而不是创建一张新卡
using (var context = new BenzineFleetContext())
{
var card = context.Cards.First(c => c.Number == "123456");
var customer = new Customer { Name = "Rayz", Card = card };
card.Customer = customer;
context.SaveChanges();
}