7

当我在linqpad中运行此查询时:

Customer.Where(c => (c.CustomerName == "test"))

它返回匹配的记录。

当我尝试在Visual Studio中运行相同的查询时,它不会返回任何匹配的记录。这是我正在使用的代码:

    List<Customer> customerList = new List<Customer>();

    using (DBEntities db = new DBEntities())
    {
        try
        {
            customerList = db.Customer.Where(c => (c.customerName == "test")).ToList();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

    return customerList;

谁能明白为什么它在linqpad中有效但在Visual Studio中无效?

4

2 回答 2

2

你能这样试试吗

customerList = db.Customer.
   Where(c => String.Compare (c.customerName.ToUpper(),"test".ToUpper()) == 0).ToList();

因为客户名称的区分大小写搜索可能存在问题。

根据您的需要尝试其他变体:String.Compare 方法

于 2012-12-19T10:53:56.437 回答
0

您的 linqpad 查询使用“c.CustomerName”,而您的 Visual Studio 查询使用“c.customerName”。

或者,您的问题可能是它区分大小写,或者 db.Customer 集为空。

编辑:DeeMac 在他的回复中也提到了这一点

于 2012-12-19T10:56:42.333 回答