微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何告诉 Entity Framework Core 5 两个实体不相关?

如何解决如何告诉 Entity Framework Core 5 两个实体不相关?

我正在使用代码优先的方法并且有两个不相关的实体

[table("state")]
public class StateCodeDTO {
    [Key]
    [column("state_code")
    string StateCode { get; set; }
   
    [column("state_name")]
    string StateName { get; set; }
}

[table("location")]
public class LocationDTO {
    [Key]
    [column("id")
    int Id { get; set; }
   
    [column("location_name")]
    string Location_Name { get; set; }
}

我可能创建了一个查询,其中错误地包含了两个实体。我不记得我做了什么,但这是一个错误。现在我卡住了 Entity Framework 认为这两个表之间存在关系。我的上下文我有以下 DbSet:

public DbSet<LocationDTO> Locationinformation { get; set; }
public DbSet<StateCodeDTO> StateCode { get; set; }

如果我发出以下调用

var stateDTOs = _dbContext.StateCode.ToList();

我有可怕的 Invalid column name 例外

sqlException: 无效的列名“LocationDTId”。

Microsoft.Data.sqlClient.sqlConnection.OnError(sqlException 异常, bool breakConnection,Action wrapCloseInAction) Microsoft.Data.sqlClient.sqlInternalConnection.OnError(sqlException 异常,布尔 breakConnection,动作 wrapCloseInAction) Microsoft.Data.sqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj、bool callerHasConnectionLock、bool asyncclose) Microsoft.Data.sqlClient.TdsParser.TryRun(RunBehavior runBehavior,sqlCommand cmdHandler、sqlDataReader 数据流、 BulkcopySimpleResultSet bulkcopyHandler、TdsParserStateObject stateObj,out bool dataReady)

请注意,一切正常,直到我发出无效查询,这似乎使所有内容陷入困境。我认为这与我所做的无关,我只需要一种方法来告诉 Entity Framework 这两个实体不相关。似乎它正在将 Code First 约定 ClassNameKey 应用于位置表,并认为 LocationDTOId 是状态表中的外键。这与事实大相径庭。

How can I tell Entity Framework that these entities are unrelated?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。