Xamarin.ios 在单触中使用简洁

Xamarin.ios 在单触中使用简洁,xamarin.ios,dapper,Xamarin.ios,Dapper,由于我是Dapper的忠实粉丝,并将其用于几个SQL Azure项目,因此我想在MonoTouch上使用它,同时与内置的Mono.Data.SQLite进行对比 我意识到Dapper的速度来自于动态代码生成,不幸的是,这在iOS上是一个很大的禁忌,所有的东西都必须通过MonoTouch提前编译 第一个问题:是否有人努力提供dapper相关部分的基于反射的实现?(我知道它会慢很多)如果不是的话,实现它会有多困难(只浏览了一下简洁的源代码) 第二个问题:我希望我在这里听起来不幼稚,但是否有可能编写一

由于我是Dapper的忠实粉丝,并将其用于几个SQL Azure项目,因此我想在MonoTouch上使用它,同时与内置的Mono.Data.SQLite进行对比

我意识到Dapper的速度来自于动态代码生成,不幸的是,这在iOS上是一个很大的禁忌,所有的东西都必须通过MonoTouch提前编译

第一个问题:是否有人努力提供dapper相关部分的基于反射的实现?(我知道它会慢很多)如果不是的话,实现它会有多困难(只浏览了一下简洁的源代码)

第二个问题:我希望我在这里听起来不幼稚,但是否有可能编写一个小实用程序,将实体POCO的动态生成的IL具体化为一个IL程序集源文件,该文件可以添加到MonoTouch项目中,从而在构建期间被激活?或者这是因为连接和QueryMultiple等原因而无法实现的


注意:我意识到至少可以将Dapper移植到MonoTouch,但是浏览一下源代码,我不知道它应该如何运行,因为所有动态方法生成的东西都还在那里。

我一直想这样做,中性Dapper,以便它可以在MonoTouch上运行,然后看一下如何在生成代码之后带来速度优势。如果你愿意,我们可以在bitbucket上启动一个项目或其他类似的项目。另一个选项是Catnap,这里:它与SQLite的结合对我们来说非常有效。起初我对Catnap有点反感,因为我读了一篇文章,作者没有让它工作,但考虑到你的评论,我可能会尝试一下。@LasseV.Karlsen我已经尝试过了,但很快就被卡住了,因为动态内容根本没有文档记录。SqlMapper.cs的早期版本至少偶尔包含包含与动态代码C#等效的注释,但当前版本的GitHub对除作者之外的任何人来说都太难阅读。只需看看SqlMapper.CreateParamInfoGenerator()。该方法创建一个动作委托,当给定一个
IDbCommand
和一个对象时,它将读取对象的所有属性并为每个属性添加参数。基本上,它为以下内容生成代码:
command.Parameters.Add(“Name”,obj.Name),然后针对每个属性。