Просто интересно, есть ли способ вывести часть повторения из проецируемого типа LINQ to SQL.
Пример:
Таблица: Адрес
Поля: AddressID, HouseNumber, Street, City, State, Zip, +20 больше
Класс MyAddress: AddressID, HouseNumber, Street (только 3 поля)
LINQ:
from a in db.Addresses
select new MyAddress
{
AddressID = a.AddressID,
HouseNumber = a.HouseNumber,
Street = a.Street
}
Приведенный выше запрос работает отлично, и я понимаю, почему что-то подобное возвращает все 20+ полей в каждой строке:
from a in db.Addresses
select new MyAddress(a);
class MyAddress
{
public MyAddress(Address a)
{
this.AddressID = a.AddressID,
this.HouseNumber = a.HouseNumber,
this.Street = a.Street
}
}
Что приводит меня к моему вопросу:
Можно ли реализовать какую-то вспомогательную функцию или метод расширения для "сопоставления" из модели LINQ с MyAddress, но при этом возвращать только необходимые поля в результате запроса, а не все поля?