我正在使用具有自己的字段(Id、Name)的产品创建一个电子商务:这是我在 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 应该是无模式的,但它的无模式应用程序不是那么容易,对吗?