gpt4 book ai didi

c# - 将 LINQ-to-SQL 对象转换为模型对象的好方法是什么?

转载 作者:行者123 更新时间:2023-11-30 22:24:09 26 4
gpt4 key购买 nike

当我使用 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 数据对象上使用扩展方法之类的?

如有任何想法,我们将不胜感激。

谢谢!

最佳答案

你应该结帐AutoMapper .这是一个非常好的库,可以帮助您设置应用程序中对象之间的映射。例如,您可能有域实体和一层 DTO;然后您可以使用 AutoMapper 将您的实体映射到相应的 DTO,我认为这就是您想要做的。

关于c# - 将 LINQ-to-SQL 对象转换为模型对象的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12942101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com