gpt4 book ai didi

C# dapper 映射到接口(interface)

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

我可以使用 C# dapper 来做这样的事情吗:

IFoo bar = _dbConnection.Query<IFoo>("My query there");

现在我不能这样做,因为没有实现默认的无参数构造函数。

是否有一些技巧来纪念 SOLID 的神(特别是 Liskov 替换原则的精神),或者我应该保持原样并将我的数据映射到 Foo 而不是 IFoo?

我真的很担心尊重这些 SOLID 的东西,但仍然不知道我应该在哪里做,所以针对这种具体情况寻求建议。

最佳答案

您需要类的具体实现来实例化。在内部,它必须创建一个新对象。您不能创建接口(interface)的新实例:

var foo = new IFoo(); // This won't build!

您仍然可以将您的结果 转换为一个接口(interface),但是您需要一个具体的类型来从数据库构建。

IEnumerable<IFoo> foo = _dbConnection.Query<Foo>("My query there");

关于C# dapper 映射到接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410540/

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