gpt4 book ai didi

时间:2019-03-17 标签:c#Linq to SQL and Generics

转载 作者:行者123 更新时间:2023-12-02 15:50:55 25 4
gpt4 key购买 nike

我对泛型还很陌生,作为学习练习,我尝试创建一个简单的方法,从具有指定 ID 的实体集(表)中选取实体。

    public T GetEntity<T>(int id) where T : class
{
return db.GetTable<T>().SingleOrDefault(o => o.id == id);
}

上述显然行不通,因为 o.id 中的 o 未知,因此无法访问属性 id - 有人可以帮忙解决一下吗达到这个目的?

最佳答案

如果您的所有实体都包含 id 属性,那么您可以定义一个接口(interface)

public interface IEntity
{
int id { get; }
}

在您的所有类上实现它并将您的方法更改为

public T GetEntity<T>(int id) where T : IEntity
{
return db.GetTable<T>().SingleOrDefault(o => o.id == id);
}

这样的界面在您想要为所有实体做某事的所有地方都很有用,即。按id删除。您可以向界面添加更多属性,即。时间戳。

关于时间:2019-03-17 标签:c#Linq to SQL and Generics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427412/

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