EF核心枚举列表

编程入门 行业动态 更新时间:2024-10-28 19:29:46
本文介绍了EF核心枚举列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在开发一个在实体框架核心中组织酒店预订的小型应用程序。我需要添加有关每个房间的床位数量和类型的信息。我在想,我决定将枚举列表存储在单独的表中,这样会更好。但我不知道如何实现它

public enum Bed { Single = 1, Double = 2, } public class Room : IEntity { [Key] public int Id { get; set; } public string RoomIdentifier { get; set; } public ICollection<Bed> Beds { get; set; } public int Floor { get; set; } public double Price { get; set; } public bool IsFree { get; set; } public bool IsOutOfService { get; set; } public bool ShouldBeCleaned { get; set; } public ICollection<RoomReservation> RoomReservations { get; set; } }

这样做有可能吗?我还在考虑将其保存为(1,2,1,2)这样的字符串,然后对其进行解析,以获得房间中床位的数量和类型。非常感谢您的帮助!

推荐答案

以下是虚构对象名称的示例,希望对您有所帮助。

在OnModel Creating中:

modelBuilder.Entity<Room>() .Property(e => e.BedList) .HasConversion( v => string.Join(',', v), v => v.Split(',', StringSplitOptions.RemoveEmptyEntries).ToList() ?? new List<Bed>()) .Metadata.SetValueComparer(valueComparer); 您必须在下面创建您自己的值比较示例 查看列表:

var valueComparer = new ValueComparer<ICollection<string>>( (c1, c2) => c1.SequenceEqual(c2), c => c.Aggregate(0, (a, v) => HashCode.Combine(a, v.GetHashCode())), c => (ICollection<string>)c.ToHashSet());

更多推荐

EF核心枚举列表

本文发布于:2023-11-16 07:12:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1602121.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:核心   列表   EF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!