小编Pin*_*nzi的帖子

实体框架数据传输对象最佳实践

我们必须为我们的许多表使用数据传输对象,因为它们非常大,并且许多列对我正在使用的上下文没用.

为了获得最佳性能,我无法读取完整的数据库实体,并在之后将其转换为dtos.因此,我创建了一个linq扩展方法,在执行查询之前将其转换为dtos.

延期召唤方法:

db.MyTable.Select(...).ToDto().ToList();
Run Code Online (Sandbox Code Playgroud)

我的扩展方法:

public static IQueryable<MyTableDTO> ToDto(this IQueryable<MyTable> query)
{
     return query.Select(x => new MyTableDTO
     {
         ID = x.ID,
         Name = x.Name
     });
}
Run Code Online (Sandbox Code Playgroud)

这是一个可行的解决方案还是有更好的做法?

第二个问题:不仅需要将IQueryable <MyTable>对象转换为dtos,还必须转换MyTable对象.我为MyTable类创建了一个扩展方法:

public static MyTableDto ToDto (this MyTable x)
{
    return new MyTableDto
    {
        ID = x.ID,
        Name = x.Name
    };
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能在我的第一个ToDto功能中使用此功能?喜欢:

public static IQueryable<MyTableDTO> ToDto(this IQueryable<MyTable> query)
{
    return query.Select(x => x.ToDto());
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

由于下面的研究,还有一个问题.在某些情况下,我们希望仅为高性能问题返回最少的字段.

可以创建一个存储库类,您可以在其中定义一个参数,以传递一个Func,其中包含应由查询返回的字段(如下所述).然后可以创建一个类(下面示例中的MyServiceClass),您可以在其中为不同的返回实体调用相同的存储库方法.但这是一个好的做法还是什么是更好的解决方案呢?

public class MyTableRepository<T>
{
    public List<T> GetMyTable(String search1, String search2, Func<MyTable, T> selectExp)
    {
        using(var …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework dto

9
推荐指数
1
解决办法
1601
查看次数

Postsharp OWIN版本不匹配

我在我的项目中使用PostSharp 4.2.22.0和Owin 3.0.1.

当我编译时,我收到以下错误:

未处理的异常(4.2.22.0,postsharp-net40-x86-srv.exe,CLR
4.0.30319.394271,Release):PostSharp.Sdk.CodeModel.AssemblyLoadException:找不到程序集'microsoft.owin.security,version = 2.1.0.0,culture =中立,publickeytoken = 31bf3856ad364e35'.[版本不匹配]

但PostSharp是否与Owin有关?为什么Owin版本对PostSharp很重要,这些是两个完全不同的包.

c# asp.net postsharp owin

4
推荐指数
1
解决办法
556
查看次数

如何从iOS模拟器获取IPA文件

我已经使用Xamarin.Forms和Ionic开发了两个简单的应用程序,需要对创建的Android和iOS APK和IPA文件执行反向工程。我需要为此做研究。从Android模拟器获取APK文件很容易,但是从iOS模拟器获取IPA文件的最佳方法是什么。

我已经尝试使用Cydia,但直到现在仍未成功。我在Xcode中看到,如果您有Apple Developer帐户,则可以选择导出IPA。获取两个IPA文件的最佳方法是什么?如果我得到它们,它们会被束缚吗?

cydia ios ipa xamarin ionic2

2
推荐指数
1
解决办法
1438
查看次数

标签 统计

c# ×2

asp.net ×1

cydia ×1

dto ×1

entity-framework ×1

ionic2 ×1

ios ×1

ipa ×1

linq ×1

owin ×1

postsharp ×1

xamarin ×1