linq成员没有支持SQL的翻译

时间:2013-10-02 10:40:51

标签: c# linq

运行查询时出现以下错误:

  

System.NotSupportedException:成员   'Application.Product.IsValid'没有支持的SQL转换。

以下查询有什么问题?

产品类的一部分:

public Boolean IsValid
    {
        get { return this.isValid; }
        set
        {
            isValid = value;
        }
    }

我的查询如下:

 Table<Product> Producttable = dataContext.GetTable<Product>();
            Table<ClientProduct> ClientProducttable = dataContext.GetTable<ClientProduct>();

 var query =
                from product in Producttable where product.IsValid == true
                join clientProduct in ClientProducttable
                on product.ID equals clientProduct.ProductID
                where clientProduct.ClientID == clientID 
                orderby product.Name ascending
                select product;

如果我这样做,我也会得到同样的错误

Table<Product> table = dataContext.GetTable<Product>();

        IQueryable<Product> query =
            from row in table
            where row.IsValid == false
            select row;

        return query.ToList<Product>();

1 个答案:

答案 0 :(得分:1)

使用Isvalid属性标记您的Column媒体资源。

我相信,Linq-to-sql引擎需要有column属性才能查找数据库表。以及它的参数(属性),如ColumnName或类似。