エンティティフレームワークを使用して、指定された顧客情報をデータベースに保存する簡単な方法があります。
public Customer AddCustomer(Customer customer)
{
using (var context = DataObjectFactory.CreateContext())
{
context.AddObject("CustomerEntities", Mapper.Map(customer));
context.SaveChanges();
return customer;
}
}
顧客タイプは非常に単純で、Idと顧客の名前で構成されているため、顧客を保存する場合は、顧客オブジェクトをAddCustomerメソッドに渡すだけです。この時点で、Idはnullであり、Nameフィールドには名前Iが含まれています。データベースに保存したい。
これは正常に機能し、名前はデータベースに挿入されますが、保存した顧客IDを取得して呼び出し元の関数に戻すことですが、これを実現する方法はありますか?
編集:
これは、使用されるMapperメソッドです。
internal static class Mapper
{
internal static IList<Customer> Map(IEnumerable<CustomerEntity> entity)
{
return entity.Select(Map).ToList();
}
internal static Customer Map(CustomerEntity entity)
{
return new Customer
{
CustomerId = entity.CustomerId,
Name = entity.Name
};
}
internal static CustomerEntity Map(Customer customer)
{
return new CustomerEntity
{
CustomerId = customer.CustomerId,
Name = customer.Name
};
}
}
ありがとう