gpt4 book ai didi

c# - Dapper 异常 - Get 仅支持具有 [Key] 属性的实体,但已定义 [key]

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:00 26 4
gpt4 key购买 nike

如果 BO 被标记为具有 [key] 的 key ,为什么 dapper 通过错误?

[Table("tblWebReadyToWorkQualifications")]
public class TeacherQualificationBO
{
[Key]
public int TeacherID { get; set; }

public string ReadyToWorkGuid { get; set; }

public int QualificationID { get; set; }

}

调用 dapper 抛出异常

      public IEnumerable<TeacherQualificationBO> GetTeacherQualifications(int TeacherID)
{
using (var connection = GetOpenConnection())
{
return connection.Get<IEnumerable<TeacherQualificationBO>>(TeacherID);
}
}

tblWebReadyToWorkQualificationsTeacherID 上有一个主键。

Error: at Dapper.Contrib.Extensions.SqlMapperExtensions.Get[T](IDbConnection connection, Object id, IDbTransaction transaction, Nullable`1 commandTimeout) in d:\egna projekt\dapper-dot-net\Dapper.Contrib\SqlMapperExtensions.cs:line 128\r\n

最佳答案

错误消息可能试图告诉您泛型类型 IEnumerable<TeacherQualificationBO>没有 [Key] 属性,这是正确的。只有类型 TeacherQualificationBO做。

改变

return connection.Get<IEnumerable<TeacherQualificationBO>>(TeacherID);

return connection.Get<TeacherQualificationBO>(TeacherID);

您还需要将函数的返回类型更改为 TeacherQualificationBO反射(reflect)这一点。你声明 TeacherID是主键(因此是唯一的),所以 TeacherID只会对应一个记录。因此,不返回集合是有道理的。

关于c# - Dapper 异常 - Get<T> 仅支持具有 [Key] 属性的实体,但已定义 [key],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44394124/

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