Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight WCF/RIA MVVM属性_Silverlight_Mvvm_Wcf Ria Services - Fatal编程技术网

Silverlight WCF/RIA MVVM属性

Silverlight WCF/RIA MVVM属性,silverlight,mvvm,wcf-ria-services,Silverlight,Mvvm,Wcf Ria Services,我在一个ViewModels中构建了一个属性,它是一个整数vs一个集合 private int _formTypeID; public int FormTypeID { get { return _formTypeID; } set { if (_formTypeID == value) { return; }

我在一个ViewModels中构建了一个属性,它是一个整数vs一个集合

    private int _formTypeID;
    public int FormTypeID
    {
        get { return _formTypeID; }

        set
        {
            if (_formTypeID == value)
            {
                return;
            }
            _formTypeID = value;
            RaisePropertyChanged("FormTypeID");
        }
    }
我想做的是从我的DomainContext的查询中加载它。查询将类似于:

    public int GetFormTypeByForm(int Formid)
    {
        var p = (from i in this.ObjectContext.Forms
                where i.FormID == Formid
                select i.FormType).FirstOrDefault();

        return p;
    }
但我似乎不知道该怎么做。我将使用此属性加载特定于表单的数据,并将自定义列定义加载到我的XAML中

有人知道怎么做吗

谢谢


Neil

您的集合中是否存在父窗体?如果是,您的查询应该可以工作,只需使用
SingleOrDefault

否则,您必须将表单加载到DomainContext:

private int _FormType;
public int FormType
{
  get { return _FormType; }
  set
  {
    if (_FormType == value) return;
    _FormType = value;
    RaisePropertyChanged("FormType");
  }
}

public void LoadFormTypeByForm(int Formid)
{
  var query = (from f in this.ObjectContext.Forms
               where f.FormID == Formid
               select f.FormType);

  var action = new Action<LoadOperation<Form>>((op) =>
    {
      if (op.HasError && !op.IsErrorHandled)
      {
        op.MarkErrorAsHandled();
        return;
      }
      var form = ObjectContext.Forms.SingleOrDefault(f => f.FormID == FormID);
      if (form != null)
        FormType = form.FormType;
    });
  Context.Load(query, action, null);
}
private int\u FormType;
公共int FormType
{
获取{return\u FormType;}
设置
{
if(_FormType==value)返回;
_FormType=值;
RaisePropertyChanged(“FormType”);
}
}
公共void LoadFormTypeByForm(int-Formid)
{
var query=(来自this.ObjectContext.Forms中的f)
其中f.FormID==FormID
选择f.FormType);
var行动=新行动((op)=>
{
if(op.HasError&!op.IsErrorHandled)
{
op.MarkErrorAsHandled();
返回;
}
var form=ObjectContext.Forms.SingleOrDefault(f=>f.FormID==FormID);
if(form!=null)
FormType=form.FormType;
});
Load(查询、操作、空);
}

集合中是否存在父窗体?如果是,您的查询应该可以工作,只需使用
SingleOrDefault

否则,您必须将表单加载到DomainContext:

private int _FormType;
public int FormType
{
  get { return _FormType; }
  set
  {
    if (_FormType == value) return;
    _FormType = value;
    RaisePropertyChanged("FormType");
  }
}

public void LoadFormTypeByForm(int Formid)
{
  var query = (from f in this.ObjectContext.Forms
               where f.FormID == Formid
               select f.FormType);

  var action = new Action<LoadOperation<Form>>((op) =>
    {
      if (op.HasError && !op.IsErrorHandled)
      {
        op.MarkErrorAsHandled();
        return;
      }
      var form = ObjectContext.Forms.SingleOrDefault(f => f.FormID == FormID);
      if (form != null)
        FormType = form.FormType;
    });
  Context.Load(query, action, null);
}
private int\u FormType;
公共int FormType
{
获取{return\u FormType;}
设置
{
if(_FormType==value)返回;
_FormType=值;
RaisePropertyChanged(“FormType”);
}
}
公共void LoadFormTypeByForm(int-Formid)
{
var query=(来自this.ObjectContext.Forms中的f)
其中f.FormID==FormID
选择f.FormType);
var行动=新行动((op)=>
{
if(op.HasError&!op.IsErrorHandled)
{
op.MarkErrorAsHandled();
返回;
}
var form=ObjectContext.Forms.SingleOrDefault(f=>f.FormID==FormID);
if(form!=null)
FormType=form.FormType;
});
Load(查询、操作、空);
}