使用LINQ to SQL搜索整个数据库

Ben*_*Ben 3 .net c# linq vb.net linq-to-sql

是否可以使用LINQ to SQL搜索整个数据库(显然只有.dbml文件中映射的部分)才能匹配字符串?我正在尝试编写一个函数,它将采用一串"搜索术语"并搜索所有映射的实体并返回一个List(Of Object),它可以包含实体的混合,即如果我有一个表"Foo"和表" Bar"并搜索"wibble",如果"Foo"中有一行,而"Bar"中有一行包含"wibble",我想返回一个包含"Foo"对象的List(Of Object)和一个"酒吧"对象.这可能吗?

小智 8

问你的老板以下内容:

"老板,当你去图书馆找一本关于小工具的书时,你是否走到第一个书架并开始阅读每本书以查看它是否相关,或者你是否使用某种预编译的图书管理员索引是否已经提前为你配置了?"

如果他说"嗯,我会使用索引"那么你需要一个全文索引.

如果他说"嗯,我会逐一阅读每本书",那么你需要一份新工作,一位新老板,或两者兼而有之:-)


Pan*_*vos 7

LINQ to SQL,ORM通常,甚至SQL都是这种查询的不匹配.您正在描述全文搜索,因此您应该使用SQL Server的全文搜索功能.自2000年以来,所有版本和版本都提供全文搜索,包括SQL Server Express.您需要创建FTS目录并编写在查询中使用CONTAINS,FREETEXT函数的查询.

你为什么需要这样的功能?除非您特别想要为您的应用程序启用FTS,否则这是一种...奇怪的...访问您的数据的方式.