循环T模型属性。建立搜索

问题描述:

我即将在网站上建立一个搜索页面,搜索将扩展到几个模型,并且每个模型都有很多属性。循环T模型属性。建立搜索

有没有办法以通用的方式做到这一点或使用反射器,因为我在一些帖子中看到?我需要一些关于如何解决这个问题的提示或提示。高度欣赏它。

您可以使用反射来获取所需的信息。如果您有类型T,则可以使用

typeof(T).GetProperties() 

获取所有公共属性。如果您需要更多的元数据来生成搜索,您可以使用属性来注释属性(或字段,方法等)。这就是我开始的方式。更多细节取决于你的确切用例。

你能提供更多细节吗?

您搜索的目的是什么?给我30秒的版本,这样我就能明白你要去哪里了。

你打算使用正则表达式和词干?

什么样的数值被视为匹配?

我假设你只想搜索对象/模型的属性。对?

是否想查看每个属性或仅查看其中的一些?

什么类型的数据存储在属性中? (字符串,字节[],枚举等)

头脑风暴:

关于搜索一个数据库服务器端,而不是在你的水合对象

什么?使用数据库的速度可能会更快(在运行时),而不是将所有对象加载到内存中,然后反思它们。

您也可以在模型本身的上下文中编写一个支持搜索的方法。您将搜索规则集作为表达式传递,然后查找匹配项。如果您有某种集合容器,则可以在该级别上针对集合中的所有对象运行搜索。

如果你想要一些反射代码,我写了一些东西,通过反射显示了很多关于对象的信息。我很久以前写过(2009年12月)。我不确定它是否做到了你想要的。看一看。如果它适合你,请使用它! (Link