本质上,我试图找到一种不那么糟糕的方法来做到这一点:
foreach (var k in someList)
{
try
{
var temp = Database.Set(k.GetType()).Local;
newList.Add(k);
}
catch (InvalidOperationException)
{
}
}
Database
是我DbContext
模型的实例。
someList
是对象的集合,有些是实体模型的一部分,有些不是。我想创建一个新列表 ( newList
),其中仅包含属于模型的对象。中的对象someList
可以是任何类型(在我的情况下,其中之一List<string>
显然与我的底层数据库无关)。
当来自的对象不是实体模型的一部分InvalidOperationException
时会引发。someList
通过这样做,我得到了我想要的东西,但是这似乎是一个 hack。我正在寻找更好的解决方案。