Silverlight WCF/RIA MVVM属性
我在一个ViewModels中构建了一个属性,它是一个整数vs一个集合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; }
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(查询、操作、空);
}