【问题标题】:Return from database not all data从数据库返回并非所有数据
【发布时间】:2023-04-03 20:51:01
【问题描述】:
 using (var db = new ConnectToDB())
        {
            var matches = db.Matches;
            var matchesToReturn = new List<SimpleMatch>();
            foreach (var item in matches)
            {
                var match = new SimpleMatch();
                match.Id = item.Id;
                match.Home = item.Home.Name;
                match.Guest = item.Guest.Name;
                match.HomeTeamGoals = item.Result.HomeTeamGoals;
                match.GuestTeamGoals = item.Result.GuestTeamGoals;

                matchesToReturn.Add(match);

            }

            return matchesToReturn;
        }

所有项目都有 id 和 DateMatch,但 item.Home、item.Guest、item.Result ==null

img return

【问题讨论】:

  • 可能这些字段在您的数据库中为空?
  • 字段已填满,无法从另一个表返回与表Matches有关系的数据
  • 延迟加载已禁用
  • 您需要使用Include语法包含匹配的相关表

标签: c# entity-framework wcf code-first


【解决方案1】:

确保加载相关对象。比如这样:

foreach (var item in matches.Include(x => x.Home).Include(x => x.Guest).Include(x => x.Result))
{
    ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多