gpt4 book ai didi

c# - 从 Entity Framework 通用存储库呈现 IEnumerable

转载 作者:太空宇宙 更新时间:2023-11-03 20:08:14 25 4
gpt4 key购买 nike

我不确定这是否可行。我的数据库中有几个特定的​​表,由 Entity Framework 的代码优先类表示。除了始终为字符串的 Id 属性外,这些类具有不同的属性。我想知道是否有创建一个通用存储库的方法,它可以选择和呈现仅 Id 属性的序列。例如:

class GetDbIds<T> where T : class
{
// PROPERTIES
DbContext DbContext {get;set;}
DbSet<T> DbSet {get;set;}

// CONSTRUCTOR
public GetDbIds(DbContext dbContext)
{
DbContext = dbContext;
DbSet = DbContext.Set<T>();
}

// METHODS
public IEnumerable<string> GenerateNewIdSequence()
{
return DbSet.Select(x => x.Id);
}
}

我知道如何设置一个基本的通用存储库,但我还没有遇到任何模式也可以让您动态查询存储库。

最佳答案

您可以将 T 约束到具有以下属性的接口(interface):

interface IIdentifiable { string Id { get; } }
class GetDbIds<T> where T : IIdentifiable, class

关于c# - 从 Entity Framework 通用存储库呈现 IEnumerable<string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com