Как хранить в БД многомерный массив?

263
15 февраля 2018, 12:45

Правильный ли подход для хранения такой конструкции в базе данных?

public class Series
{
    public int[][] Groups { get; set; }
}

Данный класс должен хранить несколько групп значений:

// в качестве примера без использования БД [[1, 2], [3, 4]]
int[][] groups = { new [] { 1, 2 }, new [] { 3, 4 } };

Получилось следующее (связь многие-ко-многим если правильно понял):

public class Offset
{
    public int Id { get; set; }
    public int Value { get; set; }
}
public class Group
{
    public int Id { get; set; }
    public ICollection<Offset> Offsets { get; set; }
}
public class Series
{
    public int Id { get; set; }
    public ICollection<Group> Groups { get; set; }
}
public class ManyToManyEF : DbContext
{
    public ManyToManyEF()
        : base("name=ManyToManyEF")
    { }
    public virtual DbSet<Offset> Offsets { get; set; }
    public virtual DbSet<Group> Groups { get; set; }
    public virtual DbSet<Series> Series { get; set; }
}
static void Main(string[] args)
{
    using (ManyToManyEF db = new ManyToManyEF())
    {
        Offset[] offsets = new Offset[4]
        {
            new Offset() {Value = 1},
            new Offset() {Value = 2},
            new Offset() {Value = 3},
            new Offset() {Value = 4}
        };
        db.Offsets.AddRange(offsets);
        Group[] groups = new Group[2]
        {
            new Group() {Offsets = offsets.Take(2).ToArray()},
            new Group() {Offsets = offsets.Skip(2).Take(2).ToArray()}
        };
        db.Groups.AddRange(groups);
        Series series = new Series() {Groups = groups};
        db.Series.Add(series);
        db.SaveChanges();
    }
}
READ ALSO
Умножить каждый элемент массива через LINQ

Умножить каждый элемент массива через LINQ

Есть массив, нужно каждый элемент умножить, что бы каждый элемент массива получил свое новое значение

260
C# Linq to Sql обновление структуры базы данных

C# Linq to Sql обновление структуры базы данных

Доброго времени сутокВ DataContext есть методы CreateDatabase - создание БД и DeleteDatabase - удаление БД

223
Ошибка Failed to re-package resources

Ошибка Failed to re-package resources

Помогите определить в чем ошибка и как ее исправитьСпасибо

254
C# Ошибка при добавлении второго UserControl

C# Ошибка при добавлении второго UserControl

Создаю новый UserControlНа форме уже находится один контрол, но при перетаскивании из панели элементов на форму нового UserControl, вылазит такая ошибка

188