我有一个对象,其中包含另一个对象类型的属性,我想将其视为复杂类型。
public class Location : IModule
{
public string Id { get; set; }
public Coordinate Coordinate { get; set; }
}
[ComplexType]
public class Coordinate
{
public string Latitude { get; set; }
public string Longitude { get; set; }
}
在添加迁移时,我遇到了需要主键的问题(这正是我想要防止的)。
实体类型坐标需要定义主键。
编辑
出于性能原因,我希望属性存储为Coordinate_Latitude
和Coordinate_Longitute
,而不是对另一个表的引用。
您需要定义一个键,使其工作。这就是实体框架的工作方式,实体框架需要知道在进行更新或删除操作时跟踪对象的关键点。如果不想手动插入它,可以将其声明为标识列以自动递增。类似这样:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CoordinateKey { get; set; }
或使用Fluent API:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Coordinate>().HasKey(u => u.CoordinateKey);
modelBuilder.Entity<Coordinate>().Property(c => c.CoordinateKey)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
编辑:似乎要将坐标类视为未映射的类。您可以使用NotMapped属性。查看以下问题以了解如何操作:
实体框架代码优先:如何忽略类
基于这个问题(如何在Entity Framework Core 2/C#中实现简单的“复杂类型”?),我找到了答案:拥有的实体类型可以发挥作用。
public class Location : IModule
{
public string Id { get; set; }
public Coordinate Coordinate { get; set; }
}
[Owned]
public class Coordinate
{
public string Latitude { get; set; }
public string Longitude { get; set; }
}
这将创建一个包含属性Id、坐标经度、坐标经度的表。
有看到过定义比较复杂的泛型类型: 请问下,为何需要定义这么多或的Type呢? 为何不直接定义: 为何需要把这些风马牛不相及的类型(T, Promise, Record)组在一起?
问题内容: 我需要哪些键中的一个或类,并且其值是这两个类中的一个,的对象列表 分别 。 例如: 我试过了,但是没有编译。 确实可以编译,但是在这种情况下不应该同时编译大小写和案例。 可能吗? 问题答案: 我认为不可能在类型中对此进行编码,我会使用自定义类来实现 只要您不将参考泄漏到此类之外,就可以在此处禁止显示警告。
问题是如何使用对象类型发送Header,而不是HTTPClient声明中提供的HttpHeaders。 我在VS代码中得到的错误信息如下所示 “{headers:GetLoggedInUserHeaderRequestParam;}”类型的[ts]参数不可分配给“{headers?:HttpHeaders{[Header:string]:string string[];};};”类型“的参数;”观
time 包提供了时间的显示和计量用的功能。日历的计算采用的是公历。提供的主要类型如下: Location 代表一个地区,并表示该地区所在的时区(可能多个)。Location 通常代表地理位置的偏移,比如 CEST 和 CET 表示中欧。下一节将详细讲解 Location。 Time 代表一个纳秒精度的时间点,是公历时间。后面会详细介绍。 Duration 代表两个时间点之间经过的时间,以纳秒为单
我正在尝试用Spring Boot开发一个CRUD web应用程序。我将Hibernate用于我的DAO部分。当我尝试午餐我的主应用程序,我收到以下错误消息: 接口客户端DAO: 类ClienteDAOImpl 类ClienteController: pom.xml:
在另一个项目中实现之前,我一直试图按照这里的教程设置演示,以帮助我理解本地机器上的SSO。我遇到了一个使我陷入困境的问题。我收到错误通知我添加一个bean。请让我知道我缺少了什么代码。我无法使程序运行。 文件系统树 authApplication.java 应用程序.属性 给出错误(不是运行的全部控制台输出,但这是错误)