如何告诉实体框架忽略数据库生成用于插入或更新的值? - c#

我是Entity Framework中的C#的新手。

我的表table1中有一个计算列(示例)。我将基于其他列值来计算计算列值。我不希望Entity Framework在执行插入/更新操作时包括计算列。如何制作EF以避免该特定列。但是我想手动设置该特定列的值。

我搜索了相同的内容,但无法获得我的问题的答案。请帮助我,并在此先感谢。

参考方案

您可以使用NotMapped注释

代码优先约定规定,每个具有
支持的数据类型在数据库中表示。该财产可以
动态创建,不需要存储。你可以标记
没有使用NotMapped映射到数据库的任何属性
注解。

[NotMapped]
public string Something
{
    get
    {
        return _something;
    }
    set
    {
        _something = value
    }
}

更新:这不会映射到dB,所以可能不是您想要的

只是为了使它更完整的DatabaseGenerated注释,您正在寻找的机器人

数据库的一项重要功能是具有计算能力
属性。如果要将Code First类映射到表
包含计算列,您不希望实体框架尝试
更新这些列。但是您确实希望EF从
插入或更新数据后的数据库。您可以使用
DatabaseGenerated批注来标记类中的那些属性
以及计算枚举。其他枚举是“无”和“身份”。

可以与DatabaseGeneratedOption一起使用

计算:插入或更新行时,数据库会生成一个值。
身份:插入行时,数据库会生成一个值。
无:数据库不会生成值。

[DatabaseGenerated(DatabaseGenerationOption.Computed)]
public string Something { get; set; }

使用Entity Framework Core(2.1)调用标量函数的最佳实践 - c#

我经常需要从Web应用程序(ASP.NET Core / EF Core)中调用在SQL Server上定义的标量函数。由于这些函数只是简单的辅助函数,因此我也使用了许多辅助函数,因此我使用了通用模式来调用这些标量函数-借助EF Core 2.1可用的新查询类型。由于我是EF Core的新手,所以我的问题是这种模式是否会引起问题,并且/或者是否存在调用标量函…

Play Framework 2中的系统类加载器 - java

我使用的是Play 2.2.2,我有一个外部jar,它试图从同一jar的根目录加载XML资源。它使用System.class.getClassLoader().getResource("/Blabla.xml")这样做。这失败了,因为显然Play拥有一个奇怪的类加载器层次结构:ReloadableClassLoader和几个父级。该层次结…

如何以编程方式将ListView滚动到最后一个元素-Compact Framework - c#

我正在使用Windows Mobile 6.1上的3.5 Compact Framework开发应用程序。我有一个ListView,添加项目时想自动滚动此列表。我能怎么做? 参考方案 listView.EnsureVisible(listView.Items.Count - 1);

如何在命令行上更改连接字符串以在迁移到Entity Framework Core中的新数据库时更新数据库 - c#

首先在ASP.NET Core和EF Core代码中,我有一个多租户的webapp。创建新租户时,我想更改连接字符串,在其上添加迁移,然后更新。从命令行,添加迁移无法在租户上获得动态的连接字符串,因此在应用程序首次以新租户开始时,我没有有效的连接字符串来创建新数据库。有什么解决办法吗?谢谢 参考方案 您在找这个吗?编辑:这是为EF 6.1Update-Dat…

模块化C#Compact Framework 2.0应用程序 - c#

我们目前正在开发新的手持软件。我无法讨论应用程序的性质,因此我将使用一个示例。我们正在设计用于管理学校的手持软件。我们希望对系统的各个方面进行模块化,以便不同的学校可以使用不同的功能。我们的系统将从主菜单和登录屏幕开始。我希望这可以作为系统的基础,并成为要添加模块的位置。即我将有一个名为SchoolPda的项目。然后,我想拥有不同的模块。即,我想要一个注册模…