Linq到SQL将DataObject从一个DataClass移动到另一个DataClass,保持结构.你好
本文关键字:DataClass 另一个 移动 你好 结构 一个 DataObject SQL Linq | 更新日期: 2023-09-27 18:19:37
不止一次遇到问题。
我在DataContext中使用了一个Linq DataClass。在加载程序运行完之后,有时需要将一个对象移动到另一个具有相同结构的DataClass。
因此,例如产品和产品历史记录,每次产品发生变化后,实际产品都会被放入产品历史记录中。
在不编写这样的转换函数的情况下,我如何简化此操作:
private static ProductHistory convert(Product p)
{
ProductHistory ph = new ProductHistory();
ph.Attr1 = p.Attr1;
ph.Attr2 = p.Attr2;
//...and hundreds like this on...
return ph;
}
我不想像DataContexts所支持的那样执行SQL查询。
任何提示都很好,
提前感谢
Harry
反射将是自动的唯一方法
通过反射,您必须探索源对象的所有属性。查找目标对象的各自属性。然后复制值
//pseudo-code
//something like this
TargetInstance target = new TargetInstance();
foreach(Property sourceProperty in sourceinstance)
{
if(target contains sourceProperty)
{
target[SourceProperty] = sourceInstance[SourceProperty];
}
}
看看这个问题,它类似于您的场景
对于这类事情,我会考虑使用AutoMapper。。。