c# - Entity Framework 将本地数据添加到数据库中的列表

标签 c# sql entity-framework linq

我对 Entity Framework 相当陌生,我正在使用此方法来查询我的数据库:

var _context = new StudioEntities();
var results = _context.tblStudios.Select(u => new
{
    u.Standort,
    u.Name,
    u.Id
}).ToList();

现在我的目标是添加数据库中不存在的本地数据。我用这段代码尝试过,但没有成功:

results.Add(new tblStudio { Id = 0, Name = "Gesamt" });

有人可以帮我解决这个问题吗?谢谢

编辑:

我的表类如下所示:

public partial class tblStudio
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Standort { get; set; }
    public Nullable<int> Plz { get; set; }
}

最佳答案

结果不是tblStudiosList,而是匿名类型的List 。因此,如果您想将一个项目添加到结果中,您应该这样做:

var results = _context.tblStudios.Select(u => new tblStudiosDTO()
{
    Standort = u.Standort,
    Name = u.Name,
    Id = u.Id
}).ToList();

results.Add(new tblStudiosDTO() { Id = "0", Name = "Gesamt" });

但是因为您无法投影到映射实体上,所以您需要创建一个 DTO 类,例如 tblStudiosDTO ,其中包含 tblStudios 实体所需的属性.

public class tblStudiosDTO 
{
    public string Standort { get; set; }
    public string Name { get; set; }
    public string Id { get; set; }
}

关于c# - Entity Framework 将本地数据添加到数据库中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39277515/

相关文章:

c# - AJAX 将多个数据发布到 ASP.Net MVC

SQL 减号运算符

c# - 像 EntityFramework 6 中那样在 System.Data.Linq.DataContext 中记录执行时间

C#方法做URL编码?

一切可为空的 C# 泛型类型约束

c# - 在客户端为 StreamSocket 或 SslStream 设置 SNI

mysql - 根据MySQL中另一个表的数据自动更新列中字段的数量

sql - Google Big Query 检查 json 键是否存在

c# - Int[].Contains 在 EF6 中不起作用

c# - Entity Framework 中的 LINQ to Entities 不支持 LINQ 表达式节点类型 'Invoke'