我正在尝试用Fluent API实现一对多关系,但暂时没有成功。尤其是在删除操作暂时无法进行的级联上。
需要在两个类事件和位置之间实现这种关系。一个事件至少具有一个位置,在另一侧,一个位置可以归因于不同的事件。
编辑:事件的确切位置是一个地点,而不是“至少一个”。抱歉。
当我删除一个事件并且使用该位置的事件不再存在时,则该位置也需要删除。只要某个事件使用了该位置,该位置仍然需要存储,因为一个事件必须具有该位置。
这是我的代码:
Fluent API
modelBuilder.Entity<Event>()
.HasRequired<Location>(c => c.Location)
.WithMany();
.WillCascadeOnDelete();
课堂活动
[Key]
public Guid EventID { get; set; } = Guid.NewGuid();
public string Description { get; set; }
public Location Location { get; set; }
班级位置
[Key]
public Guid LocationID { get; set; } = Guid.NewGuid();
public string Description { get; set; }
答案 0 :(得分:0)
您需要像下面那样修改Location类和modelBuilder。为什么在类中使用Fluent API使用DataAnnotation。将所有内容保持在流利的API中会更加干净。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control" id="materials">
<option value="name2" data-price="1.99">name2 + 1.99€</option>
<option value="name3" data-price="10.99">name3 + 10.99€</option>
<option value="name4" data-price="15.99">name4 + 15.99€</option>
</select>
<span id="price_material"></span>