linq lambda表达;获取EF对象并删除所选属性

时间:2011-11-02 20:48:40

标签: c# asp.net entity-framework

我有一个对象的实例:

AS_SYSTEM system = ctx.AS_SYSTEM.Where(s => s.SYSTEM_ID == query).First();

我想从中删除一些属性。所有以“参考”结尾的属性。像

这样的东西
system.GetType().GetProperties().Name.EndsWith("Reference")

我想删除链接到其他表的所有ef属性。

1 个答案:

答案 0 :(得分:1)

使用反射:

使用'Reference'结尾的所有属性的(值)无效
var properties = system.GetType().GetProperties().Where(x => x.Name.EndsWith("Reference"));

foreach (var p in properties)
{
    p.SetValue(system, null, null); 
}   

虽然我不确定你真的需要在这里使用反射,但这就是它的完成方式。