【问题标题】:Create a JSON list from database entity framework从数据库实体框架创建 JSON 列表
【发布时间】:2020-06-01 05:45:31
【问题描述】:

所以我环顾四周,但似乎找不到我要找的东西。

我想获取数据库中所有用户的列表。 我知道我可以创建一个新的 User 对象,但我希望从数据库中创建该对象,并以 JSON 格式返回。我正在使用实体框架。

    TimeFlowDbContext db = new TimeFlowDbContext();

    private List<User> _users = new List<User>
    {
        new User { 
            UserId = 1, 
            Firstname = "Test", 
            Lastname = "Man", 
            Username = "test", 
            Password = "test"
        }
    };

我尝试了很多不同的东西,但我真的不明白如何从我的数据库中列出它们并返回 JSON..

如果有人可以链接我一些文档或解释正确的答案,请提前感谢。

【问题讨论】:

    标签: c# mysql json database


    【解决方案1】:

    这样的事情应该可以解决问题(使用 newtonsoft)

    var users = db.users.select(a => new { a.UserId, a.Firstname, a.Lastname, a.Username });
    var json = JsonConvert.SerializeObject(users);
    

    【讨论】:

      【解决方案2】:

      您可以为此使用 Newtonsoft.JSON 库。你可以从 Global Nuget Store 获得这个。

      将您的实体农场对象转换为 JSON 的代码。

          var settings = new JsonSerializerSettings()
          {
              ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
              Error = (sender, args) =>
              {
                  args.ErrorContext.Handled = true;
              },
          };
      
          using(var db = new TimeFlowDbContext();)
          {
              var user = db.Users.First();
              return JsonConvert.SerializeObject(user, settings);
          }
      

      【讨论】:

        猜你喜欢
        • 2019-12-24
        • 1970-01-01
        • 2011-09-28
        • 1970-01-01
        • 2015-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多