Пишем код

Заметки о .net разработке

Archive for Август, 2014

NoSQL против реляционных СУБД в задаче Entity-Attribute-Value

without comments

Задача хранения в базах данных схемы типа Объект — Множество Атрибутов — Значения атрибутов давно стала «классической».
В рамках реляционных СУБД, простейшее решение выглядит как-то так (anti-pattern detected!):

<br />
    public class Product<br />
    {<br />
        public int Id { get; set; }<br />
        public List<propertyvalue> PropertyValues { get; set; }<br />
        public string ProductTitle { get; set; }<br />
        public decimal ProductPrice { get; set; }<br />
    }</p>
<p>    public class Property<br />
    {<br />
        public int Id { get; set; }<br />
        public string Title { get; set; }<br />
    }</p>
<p>    public class PropertyValue<br />
    {<br />
        public int Id { get; set; }<br />
        public Property Property { get; set; }<br />
        public string Value { get; set; }<br />
    }<br />

И это не учитывая потенциальной типизации значений свойств (некоторые могут быть числовыми, другие — датой/временем и т.п.) и полагаясь на ORM для генерации таблицы связи много-ко-многим (Product/PropertyValue).
Read the rest of this entry »

Written by Shaddix

Август 6th, 2014 at 3:06 пп

Posted in .net,EF,ravendb