c#如何在 Linqtosql 生成泛型 GetById (int Id) 函数?

标签: Linq C#
发布时间: 2017/2/28 23:10:06
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要的实体通过使用相同的功能。

 public static T getById<T>(int Id)
 {
        myDataContect db = new myDataContect();
        return (from u in db.GetTable<T> where u.Id == Id select u).FirstOrDefault();
 }

如何编写有效的函数?有什么想法?

解决方法 1:

您可以创建一个接口声明 Id 属性和在您的实体中实现它。然后,你将能够添加这样的约束︰

// you can figure out a better name this just for example
public interface ICommon
{
    int Id { get; set; }
}

public static T getById<T>(int Id) where T : class, ICommon
{
    myDataContect db = new myDataContect();
    return (from u in db.GetTable<T> where u.Id == Id select u).FirstOrDefault();
}
官方微信
官方QQ群
31647020