我正在使用Entity Framework,并且有这两个类:
[Table("Client")]
public class Client
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long ClientCode { get; set; }
public string Nombre { get; set; }
}
[Table("Product")]
public class Product
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public string CodProd { get; set; }
[StringLength(80)]
public string NameProd { get; set;
public Client Client { get; set; };
}我举了这样一个新产品的例子:
Product prod = new Product
{
CodProd = "Code",
NameProd = "Name",
Client = new Client { ClientCode = 12345678 }
};
db.Products.Add(prod);
db.SaveChanges();当我添加并保存此对象时,不会将其记录在数据库中,但如果我在客户端属性中使用空值实例化产品,则会显示该产品,但会使用该空值。我不知道为什么会发生这种事。
发布于 2020-06-22 16:48:49
假设你在Client和Product之间有一对多的关系,你的代码应该是这样的:
[Table("Client")]
public class Client
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long ClientCode { get; set; }
public string Nombre { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
[Table("Product")]
public class Product
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public string CodProd { get; set; }
[StringLength(80)]
public string NameProd
{
get; set;
}
[ForeignKey("Client")]
public long ClientCode { get; set; } //foreign key property
public virtual Client Client { get; set; } //navigation property
}然后
Product prod = new Product
{
CodProd = "Code",
NameProd = "Name",
ClientCode = 12345678
};
db.Products.Add(prod);https://stackoverflow.com/questions/62510483
复制相似问题