gpt4 book ai didi

c# - 为什么 EF6 不支持 ` ignore ` 实体属性(复杂属性)Fluent API 的属性?

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:21 25 4
gpt4 key购买 nike

如果实体为

public class AddressDetail 
{
public string Country{get;set;}
}

public class Order
{
public AddressDetail AddressDetail{get;set;}
}

如何通过 Fluent API Not [NotMap] 忽略 Oreder.AddressDetail.Country 属性?

我找到了EF6的解决方案,但我不知道为什么EF6之前有这个功能,EF6没有这个功能?

For EF5 and older: In the DbContext.OnModelCreating override for your context:

modelBuilder.Entity<Product>().Ignore(p => p.AddressDetails.Country);

For EF6: You're out of luck. See Mrchief's answer.

enter image description here

最佳答案

我理解这个异常(exception),只允许普通的属性表达式,所以如果你想忽略一个属性的属性,你必须在外部属性的类型上做:

modelBuilder.Types<WhateverTheTypeOfResponseIs>()
.Configure(c => c.Ignore(r => r.MobilePhone));

不过,我猜 EF6 的正确语法是:

modelBuilder.Entity<WhateverTheTypeOfResponseIs>()
.Ignore(r => r.MobilePhone);

关于c# - 为什么 EF6 不支持 ` ignore ` 实体属性(复杂属性)Fluent API 的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34785252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com