c# - Entity Framework 4 按 ID 加载记录

标签 c# .net entity-framework entity-framework-4

因此,我正在考虑创建一个通用接口(interface)来与我的对象的 DataStorage 进行交互,我可以将其换出以使用 EF4、SubSonic、NHibernate 或某些 NoSQL 选项。

所以我有一个 ERD,每个表都有一个自动递增的 int 列“TableNameID”,这是主键我试图找出如何使用通用方法中的主键从数据库中获取单个记录

public T GetSingle<T>(int primaryKey) where T : class

如何使用 EF4 执行此操作?

最佳答案

您可以通过通用 ObjectContext.CreateObjectSet() 来做到这一点.

例如:

public T GetSingle<T>(int primaryKey) where T : class
{
    var q = Context.CreateObjectSet<T>().Where("it.TableNameID = @tableNameId");
    q.Parameters.Add(new ObjectParameter("tableNameId", primaryKey));
    return q.Single();
}

关于c# - Entity Framework 4 按 ID 加载记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952388/

相关文章:

c# - EF 代码优先 : Many-to-Many + Additional Property

.net - 删除 Assets 和转换作业(Azure 媒体服务 v3)

.net - MVC EF 上下文实例

c# - 如何将 "zip"或 "rotate"列为可变数量的列表?

c# - 调用 ToString ("YYYY-mm-dd") 导致错误的日期格式

c# - C# 和 Java 中 Triple DES 的实现有什么区别吗? Java 给出错误 IV 大小错误

c# - 维护对 Assembly 对象的引用以避免不必要的 Assembly.LoadFrom 调用是好还是坏?

entity-framework - 无法解析符号“ForSqliteHasDefaultValueSql”

.net - 登录前握手期间的 SqlException

c# - 是否可以通过 C# 代码进行 MS SQL 复制?如果是,如何?