MissingMemberException未处理EntitySet X对象没有属性Y.

时间:2014-11-19 22:39:20

标签: c# python linq ironpython

更新 我认为问题可能是我的关联设置错误了......有些表​​是一对一的,我把它们作为一对一......

我正在使用ironpython C#和linq2sql编写报告程序。报告python文件中出现此错误:

#Evaluation Comment Workflow Records
doc.EvaluationCommentworkflowRecords = [];
if (doc.crRecord.V_SOS_CR_EVAL and doc.crRecord.V_SOS_CR_EVAL.V_SOS_WFDSTs.Count > 0):
    doc.EvaluationCommentworkflowRecords = doc.crRecord.V_SOS_CR_EVAL.V_SOS_WFDSTs.Where(lambda     p: p.DOCTYPE and 
                                                                                 p.DOCTYPE == (doc.evalDocType) and
                                                                                 p.ST_DATE).OrderBy(lambda p: p.ST_DATE).ToList()
#End Evaluation Comment Workflow Records
return doc

我得到的错误消息说EntitySet [V_SOS_CR_EVAL]对象没有属性V_SOS_WFDSTs。

但我在linq2sql中使用关联和dataprovider类建立连接:

        //evaluation and subs
        loadOptions.LoadWith<V_SOS_CR>(p => p.V_SOS_CR_EVAL);
        loadOptions.LoadWith<V_SOS_CR_EVAL>(p => p.SOS_ATTs);
        loadOptions.LoadWith<V_SOS_CR_EVAL>(p => p.V_SOS_WFDSTs);

这是下面的DBML designer.cs文件:

        public V_SOS_CR_EVAL()
    {
        this._SOS_ATTs = new EntitySet<SOS_ATT>(new Action<SOS_ATT>(this.attach_SOS_ATTs), new Action<SOS_ATT>(this.detach_SOS_ATTs));
        this._V_SOS_WFDSTs = new EntitySet<V_SOS_WFDST>(new Action<V_SOS_WFDST>(this.attach_V_SOS_WFDSTs), new Action<V_SOS_WFDST>(this.detach_V_SOS_WFDSTs));
        this._V_SOS_CR = default(EntityRef<V_SOS_CR>);
        OnCreated();
    }

然后在它的代码中更远:

        public V_SOS_WFDST()
    {
        this._V_SOS_CR = default(EntityRef<V_SOS_CR>);
        this._V_SOS_CR_MRULE = default(EntityRef<V_SOS_CR_MRULE>);
        this._V_SOS_CR_OPERABILITY = default(EntityRef<V_SOS_CR_OPERABILITY>);
        this._V_SOS_CR_REPORTABILITY = default(EntityRef<V_SOS_CR_REPORTABILITY>);
        this._V_SOS_CR_EVAL = default(EntityRef<V_SOS_CR_EVAL>);
        this._V_SOS_CR_ACTION = default(EntityRef<V_SOS_CR_ACTION>);
        OnCreated();
    }

如果有人能想到如何修复此错误,请告诉我们!

谢谢, 尼克

1 个答案:

答案 0 :(得分:0)

问题出在与表的关联中。当他们应该一对一的时候,我有很多人设置为一对多...