我想在我的Windows窗体应用程序中使用Linq to SQL。提取泛型Linq查询
本地数据库中的数据是从Web服务中获取的或本地创建的。
如果一个实体是由它具有外部ID设置
我经常需要使用的代码如下通过他们的外部ID获取对象的Web服务牵强:
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引用类型我不确定泛型“where”约束应该是什么样子。
任何想法如何在泛型函数中使用linq?
回复:1.这是命名空间的问题:)谢谢。 – 2009-07-08 12:39:04
已解决问题。谢谢! – 2009-07-08 12:41:43