- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试制作一个函数,将查询结果值更改为文本框中的值。我可以运行 LINQ 查询,获取值,并且读取可以完美打印...但是当我尝试将查询值更改为文本框值时,出现以下错误:
Property or indexer 'AnonymousType#1.FirstName' cannot be assigned to -- it is read only
代码如下:
private void editQuery(int contactID)
{
ContactLINQDataContext context = new ContactLINQDataContext("Data Source=WORK-PC;Initial Catalog=Steve Harvey Team;Integrated Security=True");
var editContact = (from Contacts in context.Contacts
join prop in context.Properties on Contacts.Address equals prop.PropertyID
join spouse in context.Contacts on Contacts.Spouse equals spouse.ContactID
where Contacts.ContactID == contactID
select new
{
ID = Contacts.ContactID,
FirstName = Contacts.FirstName,
LastName = Contacts.LastName,
FirstName2 = spouse.FirstName,
LastName2 = spouse.LastName,
Street = prop.Street,
City = prop.City,
State = prop.State,
ZIP = prop.ZIP,
Phone1 = Contacts.Phone,
Phone2 = Contacts.AltPhone,
Email = Contacts.Email,
ContactType = Contacts.Type,
Assets = Contacts.Assets,
Notes = Contacts.Notes,
}).First();
editContact.FirstName = firstNameBox1.Text;
我认为这可能是因为我正在尝试更改 var 类型,但我不知道如何更改类型并仍然更新值。有什么想法吗?
更新
我找到了一个最终对我有用的解决方案。感谢发帖者的回复,让我走上正轨。我在下面的评论中详细说明了我的解决方案。
最佳答案
这是因为您正在尝试更改匿名 类型的值 - 没有var
类型这样的东西;这只是告诉编译器从赋值运算符右侧的表达式推断变量的类型。匿名类型的属性始终是只读的。您需要创建另一个实例:
editContact = new {
editContact.Id,
FirstName = firstNameBox1.Text,
LastName = editContact.LastName,
...
};
请注意,您需要以相同的顺序指定具有相同类型的所有属性 - 这样两个匿名类型创建表达式将属于相同类型。
关于c# - 无法将属性或索引器 'AnonymousType#1.FirstName' 分配给 -- 它是只读的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26916695/
我有一个声明为匿名类型的数组: var list = new[] { new {Name = "A", Age = 10}, new {Name = "B", Age = 15} }
我想提取 AnoymousType,这是我的代码: static void Main(string[] args) { Extract(new { Name = "Yoza" });
我有一个包含多个连接的查询。我的第一个查询运行完美,但是当我想在我的第二个连接中使用此结果 (IQueryable) 时,出现错误。如何在我的第二个查询中使用我的第一个结果对象? 谢谢! ISessi
我正在尝试创建一个 AnonymousType 实例,如下所示: new { Channel = g.Key.Channel, Comment = g.Key.Comment, Count = g.C
编译器似乎总是命名匿名类型,以便它们包含“AnonymousType”。 new { Name = "Sean"}.GetType().Name // Gives: <>f__AnonymousTyp
您好,序列化过程中这一行是什么意思? [XmlType(AnonymousType = true)] public class classname { } xsd.exe 为所有类生成它。我阅读了文档
你知道如何修复这个错误吗?它在这一行中显示错误“foreach(itemColl 中的 int s)” 我必须做什么? Error 1 Cannot convert type 'AnonymousTy
我有一个方法,可以使用 LINQ 对两个 DataTable 执行不匹配的查询。它生成了一个错误,通过在网上查找,我已经确定了我认为错误发生的位置,但我不知道如何修复它。 public IEnumer
我有一个方法可以使用 LINQ 对两个 DataTable 执行不匹配的查询。它生成了一个错误,通过在线查看我已经确定了我认为错误发生的位置,但我不知道如何修复它。 public IEnumerabl
这个问题在这里已经有了答案: How can I parse a JSON string that would cause illegal C# identifiers? (3 个答案) Can y
我有一个 Web API,我只是想以 XML 格式向调用客户端返回一些数据。 我不断收到以下错误: Type '<>f__AnonymousType7`9[System.String,System.
我在 S/O 上看到过类似的错误,但修复对我来说并不直接。 Cannot implicitly convert type 'System.Collections.Generic.List' to 'S
我只需要获取所有团队成员的 ID,以便我可以查询联系人表。 var teamMembersIds = (from q in _repository.GetQuery
嗨,我有一个问题,我已经研究了好几个小时,但我一直收到错误 Property or indexer 'AnonymousType#1.XP' cannot be assigned to -- it i
我正在尝试制作一个函数,将查询结果值更改为文本框中的值。我可以运行 LINQ 查询,获取值,并且读取可以完美打印...但是当我尝试将查询值更改为文本框值时,出现以下错误: Property or in
我过滤了一个 List使用 Linq 连接该列表中的两个字段并返回结果,现在需要将该列表返回给调用方法。 Linq 过滤的结果类型为 IEnumerable所以我不能返回它,因为我的方法返回类型是 L
我已经用 AnonymousType 类型的对象填充了以下列表 List someList = new List(); someList.Add(new { foo = 1 }); 我的问题是我不能让
我的 C# 项目中出现错误,这让我很头疼。错误是: Cannot implicitly convert type 'System.Linq.IQueryable' to System.Collecti
我有以下代码: public List ListAll() { List products = new List(); var db_products = db.Products
在我的 MVC应用程序有 4 个模型类。 ProductModel.cs public class ProductModel { public int ProductID { get; s
我是一名优秀的程序员,十分优秀!