Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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# 更新实体框架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

我想从数据库创建新客户并使用卡,当我保存到数据库时,表Customer中的card\u Id存在,但表card中的Customer\u Id为空。如何更新表卡中的客户Id

对不起,我的英语不好:( 谢谢您的帮助:)

您是否尝试过:

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();
}