DNN DAL2归一化表一对多关系

时间:2014-08-22 20:00:40

标签: c# data-access-layer dotnetnuke-module petapoco dotnetnuke-7

我有一个处理产品和选项的模块。产品可以有多种选择。

所以说我有一个poco类(部分信息在这里)

class Product
{
    public int ProductId { get; set; }
    public string ProductName { get; set; }

然后我有一个选项课......

public class Option
{
    public int OptionId { get; set; }
    public string OptionName { get; set; }
    public int OptionImage { get; set; }

然后我在我的数据库中有一个表将两者映射到一起。当我在一个视图中撤回两个时,说什么策略,但我如何有一个更新映射表的poco类?因为比方说我可以有一个poco类

class Mappings
{
    public int MappingId { get; set; }
    public int ProductId { get; set; }
    public int OptionId { get; set; }

但是说我的视图会回退不在映射类/表中的实际产品名称和选项名称。我是否只是创建一个产品类,其中包含我在Mappings类中返回的ID,并执行另一个db调用以生成名称,还是让映射类处理该名称?试着看看其他开发者是如何处理这个的。

2 个答案:

答案 0 :(得分:0)

我发现如果我创建了一个视图,其中我的映射ID已经显示为相应的命名值,那么我可以将我的poco类设置为具有[ReadOnlyColumn]值,这解决了我对poco更新的问题。希望这对某人有所帮助,否则我会在你需要帮助时作出回应。

我的映射类将是......

public int MappingId { get; set; }
public int CategoryId { get; set; }
public int OptionId { get; set; }
[ReadOnlyColumn]
public string CategoryName { get; set; }

答案 1 :(得分:0)

在DNN9 +上,除了使用具有“ IgnoreColumn”属性的列并从其他实体存储库中加载值(如果需要,可以循环)之外,我无法使其工作

注意:已尝试使用ReadOnly Column,但它不会加载外部列(值始终为null)

相关问题