|
|
1
2
根据实际需要,我会考虑将类中的属性重命名为Id,然后将它们映射到模型配置中数据库中的键:
但是,如果您真的想坚持使用这些属性,并且仍然想使用泛型方法来获取它们(天知道为什么),那么您可能必须在某个接口上公开一个func,以便稍后用于比较。 也许是这样的:
然后对GetById方法进行一些小的更改:
|
|
|
2
1
所以使用这种通用模式,你的逻辑有点缺陷。如果没有属性和反射,您将无法从TEntity类型确定主id字段的名称。更好的办法是让实体实现一个接口,然后在泛型上设置一个约束。沿着这条线的东西
然后在存储库中,可以将泛型约束到IEntity类型。 这将允许您仅基于id字段查询任何IEntity类型。
|
|
|
3
0
不过,我的心安放在一边。如果你有标准化的Id命名,你可以使用一个接口
免责声明 ,所有这些都是完全未经测试的,没有错误检查 |
|
|
user5315444 · C#,通用,访问属性 8 年前 |
|
Tomilov Anatoliy · 按T匹配nullptr* 9 年前 |
|
|
Spiros · 命名空间作为CUDA中的模板参数 10 年前 |
|
|
AhSeng Fan · C泛型错误-“_Bool”之前应为表达式 10 年前 |
|
|
Sss · c#中泛型类型<T>出现未处理的异常,因为文件大小不是字节的倍数 11 年前 |