![]() |
1
2
如果我正确理解该方法,它将基于主键返回任何类型T的单个记录。 我们还有一个通用存储库,但界面如下:
以及我们的通用存储库实现:
因此,要获得“Post”的等效单记录:
这与原始代码大不相同,因为调用代码指定主键是什么(或标识唯一记录的方法)。 老实说,尝试基于一个固定的主键值动态地获取一个唯一的记录是非常疯狂的- 如果是复合键呢? 我看不出那代码是怎么工作的。 很高兴看到其他答案,但我会保持简单。 如果你想让代码获取基于T的实体集,我可以共享它——但它非常简单。 如果希望方法获取单个记录,请让调用代码提供谓词/键:
然后,如果例如“Post”有一个组合键“PostName”和“PostType”:
在您的示例中,存储库正在指示您的模型,使每个实体都有一个列主键。 您的存储库应该 帮助 你的模型,而不是定义它。
编辑-代码
很简单,很安全,因为
你的
哦。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |