次のような単純なものを使用して、LINQ-to-SQLを使用してMSSQLデータベースから物事を引き出すときに気づいていました。
public IEnumerable<Contact> GetAll()
{
var Contacts = from c in _context.Contacts
select new Models.Contact
{
ContactID = c.ContactID,
FirstName = c.FirstName,
LastName = c.LastName,
Email = c.Email,
Phone = c.Phone,
Address1 = c.Address1,
Address2 = c.Address2,
City = c.City,
State = c.State,
Zip = c.Zip,
HighImportance = (bool)c.HighImportance,
PrimaryContact = (bool)c.PrimaryContact,
OfficeLocation = c.OfficeLocation
};
return Contacts;
}
作成したい OfficeLocations テーブルへの複雑なオブジェクト (外部キー参照) があります。私が次のようなことをした場合:
_context.OfficeLocations.SingleOrDefault(ol => ol.OfficeLocationID == c.OfficeLocationID);
次に、これは私の DBML によって生成された型を返します。今まで私は次のようなものを使用してきました:
OfficeLocation = new OfficeLocation
{
OfficeLocationID = c.OfficeLocationID,
Name = c.OfficeLocation.Name,
Phone = c.OfficeLocation.Phone
}
しかし、DBML データ オブジェクトなどに拡張メソッドを使用するなど、もっと良い方法があるはずだと思います。
どんな考えでも大歓迎です。
ありがとう!