linq-to-sql - 限制 System.Data.Linq.Table<T> 的结果

标签 linq-to-sql

我正在尝试从我在 LinqToSQL 中生成的数据上下文继承 - 像这样

public class myContext : dbDataContext {
 public System.Data.Linq.Table<User>() Users {
  return (from x in base.Users() where x.DeletedOn.HasValue == false select x);
 }
}

但我的 Linq 语句返回 IQueryable,它无法转换为表 - 有谁知道限制 Linq.Table 内容的方法 - 我试图确定在访问我的用户表的任何地方,它都不会返回那些标记为已删除。也许我做错了 - 任何建议将不胜感激。

哈尔

最佳答案

另一种方法是使用 View ..

CREATE VIEW ActiveUsers as SELECT * FROM Users WHERE IsDeleted = 0

对于 linq to sql 而言,这与表相同。对于您需要 DeletedOn 过滤的任何表,只需创建一个使用过滤器的 View ,并使用它代替数据上下文中的表。

关于linq-to-sql - 限制 System.Data.Linq.Table<T> 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/85457/

相关文章:

c# - 使用 LINQ to SQL 搜索字符串内的列表对象

c# - 在 Linq-to-SQL 中映射 UDF 有任何灵活性吗?

c# - 无法翻译表达式

c# - LINQ to SQL 更新 (C#)

c# - linq to sql 在最后进行简单的分组

c# - 如何让列在 Self-Relation 表中接受空值作为零 (0)

c# - LinqToSql。更新行时死锁。并行.For

c# - Linq-to-SQL:有多少数据上下文?

c# - 使用 LINQ to SQL 从数据库进行最佳 Count() 操作

asp.net - mscorlib.dll 中发生类型 'System.StackOverflowException' 的未处理异常