gpt4 book ai didi

c# - ObjectSet.AddObject(T) 问题?

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

除非我这样写,否则 ObjectSet.Single(predicate) 不起作用(Where() 和 toList() 方法也是如此):

ObjectSet.Cast<TEntity>().Single<TEntity>(predicate)

但我不知道如何解决 AddObject 和 DeleteObject 方法的问题:

public void Add<TEntity>(TEntity entity)
{
ObjectSet.AddObject(entity);
}

错误消息告诉我“entity”是一个错误的参数。问题是否与 EF 4.1 有关?

最佳答案

以下是我的通用存储库中的一些片段:

public void Add<K>(K entity) where K : class
{
context.CreateObjectSet<K>().AddObject(entity);
}

public K SingleOrDefault<K>(Expression<Func<K, bool>> predicate) where K : class
{
K entity = context.CreateObjectSet<K>().SingleOrDefault<K>(predicate);

return entity;
}

请看下面的链接: http://msdn.microsoft.com/en-us/library/dd382944.aspx

编辑:如果您已经创建了 ObjectSet,那么您的类已经定义了 TEntity,因此您的方法应该这样调整:

public void Add(TEntity entity)
{
ObjectSet.AddObject(entity);
}

您还应该能够对 Single() 方法进行类似的调整,应该不需要强制转换。

关于c# - ObjectSet.AddObject(T) 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6940866/

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