如何为MongoDB定义Type

时间:2017-02-24 06:59:24

标签: c# mongodb

C#项目的面包店链记录每个品牌,包括成分和实际配方等。似乎有点太多自由形式为像我这样的人做了很多SQL。我想到了MongoDB。 启动了典型的Type,数据库接口和Repository类,然后我意识到我已经习惯将所有内容映射到Type类来定义每个属性/列。我选择MongoDB的原因是无法准确确定多少列。有时候他们按照一定的顺序和书中的书写,有时他们只是写完全自由形式,随意。在Type中预先定义它们是不可能的。当然,解决方法是组成20个属性/列,因为它们永远不会使用这么多。我知道MongoDB也有架构。但是,这种方式简单地回到了通常的固定模式SQL。

如果MongoDB仍然是数据库选择,C#可能具有以下类型选项:

  
      
  1. 将所有内容捕获成一个大字符串(制作和配方)
  2.   
Bakery{
int UserId, 
string UserName,
Datetime makeTime,
string make,
string recipe
}
  
      
  1. 有点组织,缺点是它无法处理非配对集合,例如水平3+字段。
  2.   
Bakery{
    int UserId, 
    string UserName,
    Datetime makeTime,
    iCollection<make> makes,
    iCollection<recipe> recipes
    }

public class make
{
string fieldName,
string actualValue
}
public class recipe
{
string ingredientName,
string dose
}
  
      
  1. 每行/每个文档预先定义最多20个字段,我宁愿回到SQL。
  2.   
Bakery{
    int UserId, 
    string UserName,
    Datetime makeTime,
    iCollection<make> makes,
    iCollection<recipe> recipes
    }

public class make
{
string fieldName1, string actualValue1,
...
string fieldName20, string actualValue20
}
public class recipe
{
string ingredientName1, string dose1,
...
string ingredientName20, string dose20
}

必须能够查询项目和值(如果存在)。需要一些专家建议。谢谢。

0 个答案:

没有答案