【问题标题】:EF doesn't get correct entities [duplicate]EF没有得到正确的实体[重复]
【发布时间】:2017-01-16 06:38:21
【问题描述】:

我的查询有问题。在我的表格中,我有 2 个元素,Active 设置为 true。为了测试,我尝试只选择错误的元素(列表应该返回 0 个元素),但我总是得到 2 个元素。

领域类

public Guid OrderStatusId { get; set; }
public string Name { get; set; }
public bool Active { get; set; }
public string Description { get; set; }

SQL 元素

OrderStatusId = Guid.NewGuid(), Name = "xxx", Active = true, Description = "yyy" 
OrderStatusId = Guid.NewGuid(), Name = "zzz", Active = true, Description = "xxx"

实体选择

public List<SlOrderStat> getDataFromSlOrderStat(string name, bool? activity)
{
    activity = false;

    using (var ctx = new ServisContex(conectionString))
    {
        var list = ctx.SlOrdersStats;               

        if (name != string.Empty)
            list.Where(l => l.Name != name);

        if (activity != null)
            list.Where(l => l.Active == activity);

        return list.ToList();
    }
}

我做错了什么?

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    你需要做的

    var result = list.Where(l => l.Name != name);
    

    list.Where(...) 不会影响列表本身的内容。

    【讨论】:

    • 当我使用它时,我无法将类型'System.Linq.IQueryable 隐式转换为'System.Data.Entity.DbSet
    • 哦,对了,我想最简单的解决方案是将结果分配给另一个变量,我会更正我的答案。
    猜你喜欢
    • 2019-07-02
    • 1970-01-01
    • 2012-11-27
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多