gpt4 book ai didi

c# - 如何构建可扩展的数据模型

转载 作者:行者123 更新时间:2023-11-30 12:37:07 24 4
gpt4 key购买 nike

我正在考虑使用 NHibernate 和 Fluent NHibernate 构建具有可扩展数据模型的电子商务应用程序。通过拥有可扩展的数据模型,我能够定义产品实体,并允许应用程序中的用户使用具有不同数据类型(包括自定义数据类型)的新字段/属性来扩展它。

例子:产品可以有一个附加字段,如:大小 - 整数颜色 - 字符串价格 - 小数ColoredImage 的集合 - 名称、图像(例如“Red”、red.jpg(二进制文件))

附加要求是能够通过这些附加/扩展字段过滤产品。我应该如何实现?

提前致谢。

最佳答案

我认为这个链接描述了你想要的东西......

http://ayende.com/Blog/archive/2009/04/11/nhibernate-mapping-ltdynamic-componentgt.aspx

关于动态组件的更多信息:

http://www.mattfreeman.co.uk/2009/01/nhibernate-mapping-with-dynamic-component/ http://bartreyserhove.blogspot.com/2008/02/dynamic-domain-mode-using-nhibernate.html

dynamic-component 背后的想法是,您可以通过不具有数据库列与属性的一对一映射来构建数据模型。相反,您只有一个字典属性,它可以包含来自任意多个属性的数据。这样,当您获取实体时,字典会获取配置为属于其中的所有列的数据。您可以扩展数据库表的架构以包含更多列,如果您相应地更新映射文件(手动或通过应用程序启动时的代码),这将反射(reflect)到数据库模型中。

老实说,我不知道您可以使用“attributes”属性查询此类实体,但如果我不得不猜测,我会对其执行 IN 语句。

关于c# - 如何构建可扩展的数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1945062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com