c# - Entity Framework 从 View 加载保存到表

标签 c# entity-framework-6 repository-pattern

Entity Framework 6(代码首先来自数据库)我有一些从sql View 获取的实体。该 View 包含几个我需要能够显示的计算字段, 但我无法保存回 View ,因为它执行了一些连接和其他操作,这些操作不允许我保存。

有什么方法可以从 View 中读取内容,但保存回表中(该表与 View 减去计算字段相同)?

我知道这在细节上很少,但我基本上想知道这是否可能,或者我是否应该以不同的方式来做。

谢谢

    [Table("SDWorkshop.vWorkshop")]
    public partial class Workshop
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public Workshop()
        {
            Registered = new HashSet<Registration>();
            Waitlist = new HashSet<Waitlist>();
        }

        [Key]
        public int Workshop_ID { get; set; }

        //removed a bunch of fields for berevity        

        public int? Capacity { get; set; }

        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public int? NumberRegistered { get; set; }

        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public int? ActualNumberRegistered { get; set; }

        [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
        public int? EmptySeats { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public ICollection<Registration> Registered { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public ICollection<Waitlist> Waitlist { get; set; }
}

计算字段是标记为数据库生成的字段,该部分用于保存回 View ,但 sql 会生成错误,因为 View 使用联接来填充这些计算字段。

最佳答案

您可以配置更新选项以使用存储过程,您可以在其中修改所需的表 Here the docs for do it

关于c# - Entity Framework 从 View 加载保存到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49054224/

相关文章:

c# - 在 C# .NET 中通过服务帐户而不是个人帐户进行身份验证以使用 Google 表格

c# - 什么时候在 DbContext 上执行查询

c# - Entity Framework 等同于多个连接?

database - Entity Framework 6 暂时禁用拦截

.net - 存储库与域服务

c# - 根据属性值从 XML 中删除元素?

c# - GroupPrincipal.Members.Remove() 不适用于大型 AD 组

dependency-injection - MVC3 EF 工作单元 + 通用存储库 + Ninject

c# - 4个接口(interface)的接口(interface)?

c# - 什么是生活模拟器的好架构