`У меня есть нижеприведенная модель 4.1.
public partial class AWLTR2Model : DbContext
{
public AWLTR2Model()
: base("name=AWLTR2Model")
{
Configuration.ProxyCreationEnabled = false;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<Address> Addresses { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbSet<CustomerAddress> CustomerAddresses { get; set; }
}
У меня есть объект POCO ниже, который находится в другом пространстве имен AWLTR2.Entity
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
public partial class CustomerAddress
{
public int CustomerID { get; set; }
public int AddressID { get; set; }
public string AddressType { get; set; }
public System.Guid rowguid { get; set; }
public System.DateTime ModifiedDate { get; set; }
public virtual Address Address { get; set; }
public virtual Customer Customer { get; set; }
}
Я раскрыл эти сущности через службы WCF (BasicHTTPBinding), но в моем клиенте я не могу добавить дочерние сущности в родительскую сущность, как показано ниже.
Customer c = new Customer
{
FirstName = "xx",
CompanyName = "zz",
EmailAddress = "xx@a.com",
LastName = "yy",
ModifiedDate = DateTime.Now,
NameStyle = false,
PasswordHash = "abcd",
PasswordSalt = "abcd",
Phone = "xx",
rowguid = System.Guid.NewGuid()
};
CustomerAddress ca = new CustomerAddress
{
AddressID = 9 ,
Customer = c ,
AddressType ="Home Office",
ModifiedDate=System.DateTime.Now,
rowguid = System.Guid.NewGuid()
};
Метод add отсутствует в клиенте, но я могу сделать это, не выставляя WCF.
как показано ниже.
c.CustomerAddresses.Add (са);
Я хочу написать метод добавления клиента вместе с адресом и обычным адресом за один раз. Я достиг того же, используя сущность framewor 4.0 с контекстом объекта. но не смог сделать это в Dbcontext.
Любая подсказка?