Dic*_*eus 5 linq setter readonly executequery
我正在使用Linq DataContext.ExecuteQuery("some sql statement")来填充对象列表
var incomes = db.ExecuteQuery<IncomeAggregate>(sqlIncomeStatement(TimeUnit));
Run Code Online (Sandbox Code Playgroud)
这IncomeAggregate
是我用来保存此查询记录结果的对象.
YQM是该对象的一个属性:
public int Year { get; set; }
public int Quarter { get; set; }
public int Month { get; set; }
public string YQM
{
get { return string.Format("Y{0}-Q{1}-M{2}", Year, Quarter, Month); }
}
... more properties
Run Code Online (Sandbox Code Playgroud)
一切都编译好,但当它执行Linq我得到以下错误:
无法为成员'YQM'分配值.它没有定义一个setter.
但显然,我不想"设定"它.Y,Q和M由查询提供给数据库.查询不提供YQM.我是否需要以某种方式更改对象的定义?(我刚开始使用Linq而且我还在加快速度,所以它可能非常简单)
好吧,我终于结束了让私人制定者
public string YQM {
get
{
return string.Format("Y{0}-Q{1}-M{2}", Year, Quarter, Month);
}
private set { ;}
}
Run Code Online (Sandbox Code Playgroud)
似乎工作.