首页 > 后端开发 > C++ > 如何在 Entity Framework 4.1 及更高版本中忽略类属性?

如何在 Entity Framework 4.1 及更高版本中忽略类属性?

Patricia Arquette
发布: 2025-01-13 16:22:17
原创
411 人浏览过

How to Ignore Class Properties in Entity Framework 4.1 and Later?

在 Entity Framework 4.1 Code First 中忽略类属性

在了解 EF 5 中的 NotAvailableUntil 限制后,让我们探索在 EF 4.1 中忽略属性的替代方法。

数据注解

使用 NotMapped 属性注解可以将特定属性排除在 Code-First 映射之外。例如:

<code>public class Customer
{
    public int CustomerID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int Age { get; set; }
}</code>
登录后复制

Fluent API

或者,通过重写 OnModelCreating 函数使用 Fluent API:

<code>protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Entity<Customer>().Ignore(t => t.LastName);
   base.OnModelCreating(modelBuilder);
}</code>
登录后复制

关于 [NotMapped] 差异的更正

[NotMapped] 属性应该可以防止在数据库中创建列。如果尽管使用了注解,但仍然创建了列,请验证您是否使用了最新版本的 EF (4.3)。

Asp.NET Core 2.0 及更高版本

在 Asp.NET Core 2.0 中,您仍然可以使用 NotMapped 属性注解:

<code>public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int FullName { get; set; }
}</code>
登录后复制

或者在您的 SchoolContext 类中使用 Fluent API:

<code>protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
    base.OnModelCreating(modelBuilder);
}</code>
登录后复制

以上是如何在 Entity Framework 4.1 及更高版本中忽略类属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板