Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在实体框架中使用主键查找数据?_C#_Asp.net_Entity Framework - Fatal编程技术网

C# 如何在实体框架中使用主键查找数据?

C# 如何在实体框架中使用主键查找数据?,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我正在使用实体框架。我需要使用主键查找记录 我试着这样做 tabCom com = db.tabCom.Find(3); 但是有一个错误,它说 “System.Data.Objects.ObjectSet”不包含“Find”的定义,并且找不到接受“System.Data.Objects.ObjectSet”类型的第一个参数的扩展方法“Find”。是否缺少using指令或程序集引用 如何使用主键查找数据。我的代码有什么问题,或者还有其他方法吗?查找方法是在EF4.1中引入的 tabCom com

我正在使用实体框架。我需要使用主键查找记录

我试着这样做

tabCom com = db.tabCom.Find(3);
但是有一个错误,它说

“System.Data.Objects.ObjectSet”不包含“Find”的定义,并且找不到接受“System.Data.Objects.ObjectSet”类型的第一个参数的扩展方法“Find”。是否缺少using指令或程序集引用


如何使用主键查找数据。我的代码有什么问题,或者还有其他方法吗?

查找方法是在EF4.1中引入的

tabCom com = db.tabCom.Single(tab => tab.PrimaryKeyColumn == 3);
在EF 5中,它有一些优化,可以在进入数据库之前检查内存中的缓存。使用Singleentity=>entity.PrimaryKey==id不会提供相同的优化


请检查您的代码引用的是哪个版本的EF。

在EF 4.1中引入了查找方法

在EF 5中,它有一些优化,可以在进入数据库之前检查内存中的缓存。使用Singleentity=>entity.PrimaryKey==id不会提供相同的优化


请检查您的代码引用的EF版本。

我能告诉您的最好链接是。从OP:错误。。。表示“System.Data.Objects.**ObjectSet*”不包含“Find”*@ta.speot.is的定义。这意味着您不仅需要考虑EF的哪个版本,而且还需要考虑是DB优先还是代码优先,每个版本的功能稍有不同。据我所知。从OP:错误。。。表示“System.Data.Objects.**ObjectSet*”不包含“Find'*@ta.speot.is”的定义。这意味着您不仅需要考虑EF的版本,而且还需要考虑它是DB优先还是代码优先,每个版本的功能略有不同。