gpt4 book ai didi

c# - 如何判断一个对象是否是实体模型的一部分?

转载 作者:行者123 更新时间:2023-11-30 17:55:47 25 4
gpt4 key购买 nike

本质上,我正在尝试找到一种不那么糟糕的方法来做到这一点:

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。我正在寻找更好的解决方案。

最佳答案

这似乎不是一个直接的答案,但与其尝试使用 DBContext 实例进行检查,不如使用 Marker 接口(interface)。然后你可以直接检查,而不用使用DBContext。例如,

public interface IEntity
{
}

public clas SomeEntity : IEntity
{
... some properties
}

此外,作为旁注,我想知道您如何能够在同一个列表中存储不同类型的实例。

关于c# - 如何判断一个对象是否是实体模型的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14724701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com