自定义通用GetTable

时间:2009-06-06 02:55:04

标签: c# linq linq-to-entities

对于我正在处理的DataContext,我不想加载表直到需要它们。 我想制作一个方法来检查某个表是否在加载之前加载了,但我最终有n个方法做同样的事情:

private void Load(ref Table<Order> Orders)
{
    if (Orders == null)
        Orders = this.GetTable<Order>();
}

我试图制作一个通用的,原因很明显,但我得到一个“类型'T'必须是一个引用类型,以便在泛型类型或方法'系统中将它用作参数'TEntity'。 Data.Linq.Table'“执行此操作时出现异常:

private void Load<T>(ref Table<T> TableToLoad)
{
    if (TableToLoad == null)
        TableToLoad = this.GetTable<T>();
}

1 个答案:

答案 0 :(得分:5)

只需在您的方法中添加“where T: class”即可。