gpt4 book ai didi

c# - 在 NHibernate 中映射私有(private)字段(使用 Fluent NH)

转载 作者:太空狗 更新时间:2023-10-30 00:35:55 26 4
gpt4 key购买 nike

我想知道,我如何映射(使用流畅的 nhibernate)这个模型:

public class Category
{
private IList<Product> _products;
public IEnumerable<Product> Products {
get { return _products; }
}
/* others properties */


public Category() {
_products = new List<Product>();
}


// to add a product i'd use something like this:
public void AddProducts(Product product) {
product.Category = this;
_products.Add(products);
}
}

今天,我正在使用 IList 的一个属性,但我不想在我的属性上公开诸如“添加”、“删除”等方法,所以我想公开一个简单的属性IEnumerable 并将 IList 封装为私有(private)字段!

那么,这是一个好的做法吗?我如何使用 NHibernate 映射它?

谢谢

干杯

最佳答案

如果您遵循 NHibernate 可以使用的命名约定,并且您的示例代码也这样做,那将非常简单:

HasMany(x => x.Products).KeyColumn("ProductId")
.AsBag().Inverse()
.Access.CamelCaseField(Prefix.Underscore);
// plus cascade options if desired

我认为这不仅仅是一种好的做法,我认为这几乎总是正确的做法。

关于c# - 在 NHibernate 中映射私有(private)字段(使用 Fluent NH),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292997/

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