gpt4 book ai didi

c# - 在类型 'x' 上找不到键 'x' 的键成员 'y'

转载 作者:太空狗 更新时间:2023-10-30 00:46:33 25 4
gpt4 key购买 nike

我正在尝试使用 LINQ-to-SQL 将我的应用程序连接到 SQLite 数据库,到目前为止一切正常。唯一的问题是我使用的 SQLite 提供程序不支持代码生成(除非我做错了什么),所以我手动对数据库中的 4 个表进行编码。

解决方案构建正确,但无法运行,给我错误消息

Could not find key member 'ItemType_Id' of key 'ItemType_Id' on type 'Item'.
The key may be wrong or the field or property on 'Item' has changed names.

我检查并仔细检查了数据库和属性映射中的拼写和字段名称,但没有发现任何问题。

该表的 SQL 如下所示:

CREATE TABLE [Items] (
[Id] integer PRIMARY KEY AUTOINCREMENT NOT NULL,
[Name] text NOT NULL,
[ItemType_Id] integer NOT NULL
);

还有我的映射代码:

[Table(Name="Items")]
class Item {

// [snip]

[Column(Name = "Id", IsPrimaryKey=true, IsDbGenerated=true)]
public int Id {
get;
set;
}

// [snip]

[Column(Name="ItemType_Id")]
public int ItemTypeId {
get;
set;
}

[Association(Storage = "_itemType", ThisKey = "ItemType_Id")]
public ItemType ItemType {
get {
return _itemType.Entity;
}
set {
_itemType.Entity = value;
}
}
private EntityRef<ItemType> _itemType;

// [snip]
}

这确实是我第一次涉足 LINQ-to-SQL,并且在学习过程中不断学习,但我似乎无法克服这个看似简单的问题。

为什么 LINQ 看不到我的关联?

最佳答案

尝试使用

ThisKey = "ItemTypeId"

关于c# - 在类型 'x' 上找不到键 'x' 的键成员 'y',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954645/

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