我正在 .NET Core 中构建一个对象,它将使用 EF Core 映射到数据库;然而,这个对象的一个属性需要映射到一个单独的只读数据库
我的意思是
public class Sample
{
public int Id { get; set; }
[Required]
public Location Location { get; set; }
public string SampleValue { get; set; }
}
[Keyless]
public class Location
{
[Column("LOCATION_ID")]
public int Id { get; set; }
[Column("LOCATION_DESC")]
public string Name { get; set; }
}
位置对象是使用预定义的 SQL 查询从只读 Oracle 数据库中提取并使用 FromSQL 方法检索的,因此我具有“无密钥”属性的原因:
_dbContext.Locations.FromSql<Location>(query)
“示例”将存储在 SQL 数据库中,位置将与位置 ID 一起存储在该数据库中,因此当我检索示例对象时,EFCore 将从 Oracle 数据库中获取 ID 并创建正确的位置属性并映射它