我正在使用Silverlight5和MVVM框架以及实体框架。在我的项目中我有一个疑问..
我有一个名为'Customer'的实体结构如下..
Customer ocustomer = new Customer();
ocustomer.CustomerName = customername;
ocustomer.CompanyName = company;
ocustomer.AddressLine1 = address1;
ocustomer.AddressLine2 = address2;
ocustomer.City = city;
ocustomer.State = state;
ocustomer.Country = country;
ocustomer.ZipCode = zipcode;
ocustomer.Notes = note;
_context.Customers.Add(ocustomer);
现在我需要将Customer值插入另一个名为Customer_Entity的表
Customer_Entity ocustomerEntity=new Customer_Entity ();
ocustomerEntity.CustomerID=Customer_ID;
ocustomerEntity.EntityTypeID =1;
.
.
.
.
ocustomerEntity.CreatedTime =System.DateTime.Now;
ocustomerEntity.CreatedBy=Common.ActiveData.Instance.userid;
我需要在每一行中将Customer值插入Customer_Entity。 Customer_Entity表结构如下,
EntityID| CustomerID| EntityValue|
----------------------------------
1 | 22 |jasper |
2 | 22 |Company:Raj |
3 | 22 |Address |
ocustomer.CustomerName=customername
.
.
.
ocustomer.CreatedTime=system.DateTime.Now..
所以我需要使用唯一的CustomerID在每一行中插入所有值。 需要帮助才能解决这个问题..
答案 0 :(得分:1)
在CustomerEntity
对象上,您应该有一个指向相应Customer
记录的导航属性。同样,我希望您的Customer
课程上也有CustomerEntity
的集合。
在这种情况下,您应该实例化Customer
对象,填充必要的信息。但是,不要将它添加到DbSet中。然后,创建所需的所有CustomerEntity
条记录,使用导航属性本身将其连接到Customer
对象(即 NOT ID字段),然后添加CustomerEntity
记录到Context类中的相应DbSet。
最后一步是将Customer
对象添加到相应的DbSet,然后运行SaveChanges。你应该好好去。实体框架应自动为您生成ID并将其填充到CustomerEntity记录中。