访问 DbPropertyValues 复杂类型

我有当前DbPropertyValues值,我想在保存之前修剪所有值。


我可以获得所有字符串值。但是当我想访问复杂类型(比如“汽车”)时,我遇到了问题。


这有效:


var propertyNames = values.PropertyNames.Where(p => currentValues[p] is string);

foreach (var propertyName in propertyNames) // trim

这不起作用(实际上是空的):


var propertyNames = values.PropertyNames.Where(p => currentValues[p] is Car);

foreach (var propertyName in propertyNames) // trim

这不起作用(并DbPropertyValues作为值返回):


var propertyNames = values.PropertyNames.Where(p => currentValues[p] is DbPropertyValues);

foreach (var propertyName in propertyNames) // trim

所有复杂类型都有System.Data.Entity.Infrastructure.DbPropertyValues一个值。所有字符串都将实际字符串作为值,可以对其进行修剪。如何获取所有复杂类型的字符串并修剪它们?


紫衣仙女
浏览 82回答 0
0回答

冉冉说

我在这段代码的帮助下通过递归解决了这个问题:https://learn.microsoft.com/en-us/ef/ef6/saving/change-tracking/property-values#using-dbpropertyvalues-to-access-complex-properties
打开App,查看更多内容
随时随地看视频慕课网APP