Я хотел бы использовать Linq to SQL в своем приложении для форм Windows.Извлечение родовых запросов Linq
Данные в локальной базе данных извлекаются из веб-службы или создаются локально.
Если объект был извлекается из веб-службы он имеет ExternalId настроить
Я часто нужно использовать код, как показано ниже, чтобы принести объекты, ихнего ExternalId:
var user = (from u in db.User
where u.ExternalId == userExternalId
select u).First();
var location = (from l in db.Location
where l.ExternalId == locationExternalId
select l).First();
Так что я, хотя о изменяя его к общей функции, как показано ниже:
internal TEntity FetchByExternalId<TEntity>(System.Data.Linq.Table<TEntity> table,
int externalId)
where TEntity: IExternalStorable
{
return (from obj in table
where obj.ExternalId == externalId
select (TEntity)obj).First();
}
к сожалению, такая функция не компилируется:
- Я не могу добавить IExternalStorable к классу сущностей, как код генерируется из базы данных (хотя я об использовании частичных классов, но это не похоже на работу)
- Это C# жалуется, что TEntity ISN» t ссылочный тип Я не уверен, как должен выглядеть общий «где» сдерживать.
Любые идеи о том, как использовать linq в общих функциях?
Re: 1. Это была проблема с пространством имен :) Спасибо. –
Проблема решена. Спасибо! –