根据单独数据库中的表过滤 Linq 返回集
我有两张桌子。一合一数据库,一合一数据库。我需要使用第一个选项填充下拉列表,并按第二个选项进行筛选。我正在使用 Linq-to-SQL。下面是我如何提取“未过滤”列表。
public static DataTable GetSPCCodeList()
{
using (var context = ProviderDataContext.Create())
{
IQueryable<tblProviderAdminSPCCode> tSPCCode = context.GetTable<tblProviderAdminSPCCode>();
return (tSPCCode
.Where(spcCode => spcCode.Inactive == null)
.OrderBy(spcCode => spcCode.SPCCodeID)
.Select(spcCode => new
{ spcCode.SPCCodeID, spcCode.SPCDescription,
spcCode.SPCCategoryID }))
.CopyLinqToDataTable();
}
}
我需要过滤的表仅包含 SPCCodeID
列。我将如何根据第二个表中是否存在来过滤我的列表?
I have two tables. One in one database and one in a separate database. I need to populate a dropdown list with options from the first, filtered by the second. I am using Linq-to-SQL. Below is how I pull the "un-filtered" list.
public static DataTable GetSPCCodeList()
{
using (var context = ProviderDataContext.Create())
{
IQueryable<tblProviderAdminSPCCode> tSPCCode = context.GetTable<tblProviderAdminSPCCode>();
return (tSPCCode
.Where(spcCode => spcCode.Inactive == null)
.OrderBy(spcCode => spcCode.SPCCodeID)
.Select(spcCode => new
{ spcCode.SPCCodeID, spcCode.SPCDescription,
spcCode.SPCCategoryID }))
.CopyLinqToDataTable();
}
}
The table I need to filter against simply contains a column for SPCCodeID
. How would I go about filtering my List based on if they exist in the second table?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在另一个数据库上生成并执行 LINQ 查询,以将您的
SPCCodeID
集合放入内存变量中,例如然后运行您的查询,但替换像这样的Where子句
Generate and execute a LINQ query on the other database to get a collection of your
SPCCodeID
s into memory variable e.g.Then run your query but replace the Where clause like this
我将从其他数据库创建这些 SPCCodeID 值的列表,然后将您的 where 子句修改为:
请记住使用 ToList() 将 scpCodeList 设为实际列表,因为我认为如果您使用两个不同的 DataContext 进行查询,则会出现问题。
I would create a list of these SPCCodeID values from the other database and then modify your where clause to be:
Remember to make the scpCodeList an actual List using ToList() because I think it will have issues if you make a query with two different DataContexts.
实际上,如果多个 SQL 数据库位于同一服务器上并且可在单个连接字符串上使用,则实际上可以使 LINQ to SQL 同时从多个 SQL 数据库中进行选择。
有两个选项:
有关如何执行这些操作的完整详细信息实际上已在我的博客中列出,而不是在此处重复:http://damieng.com/blog/2010/01/11/linq-to-sql-tips-and-tricks-3
You can actually make LINQ to SQL select from multiple SQL databases at the same time if they are on the same server and available on a single connection string.
There are two options:
Full details on how to do these are actually listed on my blog rather than repeating them here: http://damieng.com/blog/2010/01/11/linq-to-sql-tips-and-tricks-3