【发布时间】:2016-10-11 13:17:42
【问题描述】:
我花了很多时间尝试实现一个通用方法来添加或更新具有相关实体(一对多关系)的实体,但我卡住了......
该方法必须接收2个参数,第一个是父级,第二个是子级。目标是将子实体保存到父实体中(如果不存在则添加或更新)
有通用方法签名:
public static bool AddOrUpdate<T,U>(T ItemToSave,U ItemRelated, int ID) where T : class where U : class
{
using (var context = new dbContext())
{
var parent = context.Set<T>().Find(ID);
if (parent == null) return;
// how to retrieve now the child (ItemRelated) from the parent (ItemToSave) in order to add into it or update ?
return context.SaveChanges() > 0;
}
}
此方法位于静态类“服务”中 我希望能够从任何类调用 Service.AddOrUpdate(Order _order, OrderLine _orderline, _order.OrderId)。
我一直在从父母那里检索孩子并添加或更新它。
谁能帮我实现这个目标?
【问题讨论】:
-
那么您到底尝试了什么? “??”显然行不通
-
对不起,我完成了我的问题
-
不,它们是 2 个实体集,ItemToSave 可以有 0 个或多个 ItemRelated
标签: c# entity-framework generics entity