gpt4 book ai didi

linq - 为什么 Linq 需要一个 'read-only' 对象属性的 setter ?

转载 作者:行者123 更新时间:2023-12-04 18:14:17 25 4
gpt4 key购买 nike

我正在使用 Linq DataContext.ExecuteQuery("some sql statement") 来填充对象列表

var incomes = db.ExecuteQuery<IncomeAggregate>(sqlIncomeStatement(TimeUnit));
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

一切都可以编译,但是当它执行 Linq 时,我收到以下错误:

Cannot assign value to member 'YQM'. It does not define a setter.



但显然,我不想“设置”它。
Y、Q 和 M 由查询提供给数据库。查询不提供 YQM。
我是否需要以某种方式更改对象的定义?
(我刚开始使用 Linq,我还在跟上进度,所以它可能非常简单)

最佳答案

好吧,我最后只是将二传手设为私有(private)

public string YQM {
get
{
return string.Format("Y{0}-Q{1}-M{2}", Year, Quarter, Month);
}

private set { ;}
}

似乎工作。

关于linq - 为什么 Linq 需要一个 'read-only' 对象属性的 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com