LINQ to Enitities不能创建extesion方法在LINQ to SQL中链接DeleteAllOnSubmit() [英] Can 't create extesion method for LINQ to Enitities link DeleteAllOnSubmit() in LINQ to SQL
问题描述
DeleteAllOnSubmit()
方法。所以我自己创建它,并命名为 DeleteAllObjects
如下代码。 public static void DeleleAllObjects< TEntity>(此ObjectSet< TEntity> objectSet,TEntity []对象)
{
foreach(对象中的var o)
{
objectSet.DeleteObject );
}
}
然而,我编写的代码无法编译,错误消息:
类型TEntity必须是引用类型,以便将其用作
参数'TEntity'通用类型或方法
我认为使用foreach与DeleteObject一直是删除收集不是一个好主意。
请你给我建议。
谢谢
p>尝试这个。该方法需要通用, TEntity
只是该类型的占位符。
public static void DeleteAllObjects< TEntity>(此ObjectSet< TEntity> objectSet,
IEnumerable< TEntity>对象)
其中TEntity:class
{
foreach(对象中的var o)
{
objectSet.DeleteObject(o);
}
}
Since there is no DeleteAllOnSubmit()
method for LINQ to Entities. So I myself create it and named for DeleteAllObjects
as following code.
public static void DeleleAllObjects<TEntity>(this ObjectSet<TEntity> objectSet, TEntity[] objects)
{
foreach(var o in objects)
{
objectSet.DeleteObject(o);
}
}
However the code I write fail on compile and get the error message:
The type 'TEntity' must be a reference type in order to use it as parameter 'TEntity' in the generic type or method
I think use foreach with DeleteObject all the time is not a good idea for delete collection. Please could you give me suggestion.
Thanks
Try this. The method needs to be a generic, TEntity
is simply the placeholder for the type.
public static void DeleteAllObjects<TEntity>( this ObjectSet<TEntity> objectSet,
IEnumerable<TEntity> objects)
where TEntity : class
{
foreach(var o in objects)
{
objectSet.DeleteObject(o);
}
}
这篇关于LINQ to Enitities不能创建extesion方法在LINQ to SQL中链接DeleteAllOnSubmit()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!