Entity framework 为什么可以';我不能用触角吗?

Entity framework 为什么可以';我不能用触角吗?,entity-framework,Entity Framework,看起来最简单的事情有时很难弄明白。。。 许多代码引用的类型tenty用于实体数据模型中实体的通用处理。我试着在我的代码中使用它,得到:“未知类型‘tenty’”,给出了什么???为什么我会得到“未知类型”?这是否仅在.net 4.0中可用 顺便说一句:使用.NET3.5 我正在尝试使用以下代码: public TEntity ExecuteFirstorDefault(ObjectQuery ObjectQuery) { 尝试 { 返回objectQuery.FirstOrDefault();

看起来最简单的事情有时很难弄明白。。。 许多代码引用的类型tenty用于实体数据模型中实体的通用处理。我试着在我的代码中使用它,得到:“未知类型‘tenty’”,给出了什么???为什么我会得到“未知类型”?这是否仅在.net 4.0中可用

顺便说一句:使用.NET3.5

我正在尝试使用以下代码:

public TEntity ExecuteFirstorDefault(ObjectQuery ObjectQuery)
{
尝试
{
返回objectQuery.FirstOrDefault();
}
捕获(EntitySqlException ex)
{
throw ex;//TODO:替换为处理代码
//第18章所述的其他例外情况
}
}

TEntity
是一种特殊类型,而不是具体类型



我想我的问题是为什么我不能使用它,为什么我会得到未知类型

因为它不是一种具体的类型。

假设您有一个通用列表实现,声明为
list
T
是一个类型参数,这意味着它不代表特定类型。作为程序员,您必须通过提供类型参数来指示编译器使用要使用的特定类型,而不是泛型类型
T
您可以创建如下所示的整数列表:

List<int> myInts = new List<int>();
List myInts=new List();
在本例中,类型参数为
int
List
中接受或返回
T
的所有通用方法(或属性)将改为使用
int

进一步阅读

好吧,这就像问“我看到
列表
弹出很多,那是什么
T
?”。我得到“未知类型”的原因是因为在定义了方法名称之后,我忘记了添加。我有:
Public tenty Blah(ObjectQuery ObjectQuery){}
而不是:
Public tenty Blah(ObjectQuery ObjectQuery){}
我想我的问题是为什么我不能使用它,为什么我得到未知类型。抱歉,我的编辑。这是泛型的问题,这是C#的语言特性。它与EF没有具体关系。这说明问题了吗?我试图使用这本书中的代码:
public TEntity ExecuteFirstorDefault(ObjectQuery ObjectQuery){try{return ObjectQuery.FirstOrDefault();}catch(EntitySqlException ex){throw ex;//TODO:Replace to handling code//18章所述的附加异常}
这是一种泛型方法。如果你对C#泛型没有很好的把握,你应该从EF退一步,对泛型保持清醒的头脑。这就是我得到“未知类型”的原因是因为在定义了方法名之后,我忘记添加了。我使用了:Public TEntity Blah(ObjectQuery ObjectQuery){},而不是:Public TEntity Blah(ObjectQuery ObjectQuery){}
List<int> myInts = new List<int>();