【发布时间】:2017-01-24 23:07:08
【问题描述】:
我正在创建一个电子商务,其产品具有自己的字段(ID、名称): 这是我在 c# 中的对象
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
}
这是我用 C# 生成产品到 neo4j 的代码
Console.WriteLine("Generate node: ");
var newProduct = new Product{Id=666, Name="Banana"};
client.Cypher
.Create("(product:Product {newProduct})")
.WithParams(new { newProduct })
.ExecuteWithoutResults();
假设一个用户或者我需要给产品节点添加一些其他的属性,比如价格,第一件事就是给类添加一个新的产品属性
..
public int price { get; set; }
..
然后修改密码以添加具有网络属性/属性的产品。
显然这是一种硬编码方法,不适合动态数据库/站点。
由于我已经习惯了 RDBMS,这种类型的问题只能通过 EAV 和许多枢轴来解决,我希望 Nosql(即 Neo4J)可以帮助我在没有 EAV 的情况下处理可变属性文件。 生成代码的代码可能是一个解决方案?
- 我想到的是使用动态代码/变量或codeDom,这是要走的路吗?还有其他优雅的解决方案吗?
- 请提供一些解释或研究主题。
- NoSql 应该是无模式的,但它的无模式应用程序并不那么容易,对吗?
【问题讨论】:
标签: c# attributes neo4j neo4jclient schemaless