小编jak*_*bka的帖子

如何在实体框架中重用投影?

我有一个ASP.NET MVC应用程序,它使用Entity Framework来获取数据.

在将它们传递给View之前,我需要将Entites转换为模型.预测可能非常复杂,但要保持简单:

public static IQueryable<UserModel> ToModel(this IQueryable<User> users)
{
    return from user in users
           select new UserModel
           {
               Name = user.Name,
               Email = user.Email,
           };
}
Run Code Online (Sandbox Code Playgroud)

这可以在这样的控制器中使用:

return View(Repository.Users.ToModel().ToList());
Run Code Online (Sandbox Code Playgroud)

很好.但是,如果我想在另一个投影中使用这个投影怎么办?例:

public static IQueryable<BlogPostModel> ToModel(this IQueryable<BlogPost> blogs)
{
    return from blogs in blogs
           select new BlogPostModel
           {
               Title = blog.Title,
               Authors = blog.Authors.AsQueryable().ToModel(), // (entities are POCOs)
               // This does not work, because EF does not understand method ToModel().
           };
}
Run Code Online (Sandbox Code Playgroud)

(假设博客可以有多个作者,而且类型为User).

我可以以某种方式将投影分开并在其他投影中重复使用吗?

asp.net-mvc linq-to-entities entity-framework repository-pattern

5
推荐指数
1
解决办法
2029
查看次数

使用F#在Azure辅助角色上托管SignalR时出现FileLoadException

我试图在Windows Azure工作者角色中运行SignalR自主服务器,但继续获取

System.IO.FileLoadException:无法加载文件或程序集"Microsoft.Owin,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

当我在控制台应用程序中运行相同的代码时,它运行正常,一切都按预期工作.整个工作者角色用F#编写.下面是产生我正在谈论的异常的最短代码:

override wr.Run() =
    let x : IAppBuilder = null

    x.MapSignalR() |> ignore // this line throws the FileLoadException
Run Code Online (Sandbox Code Playgroud)

例外

当然上面的代码不应该工作,但有不同的例外.通常我在Startup类的Configuration()方法(WebApp.Start(url))中调用MapSignalR.

我粘贴的异常细节来自Compute模拟器,但我在实时Cloud Service中得到了同样的结果.

您是否知道可能导致问题的原因或我如何进一步诊断?

f# azure signalr owin

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

使用Python在YAML中获取重复密钥

我们需要解析包含重复密钥的YAML文件,而所有这些都需要解析。跳过重复项是不够的。我知道这违反了YAML规范,我不想这样做,但是我们使用的第三方工具可以启用此用法,因此我们需要对其进行处理。

文件示例:

build:
  step: 'step1'

build:
  step: 'step2'
Run Code Online (Sandbox Code Playgroud)

解析之后,我们应该具有与此类似的数据结构:

yaml.load('file.yml')
# [('build', [('step', 'step1')]), ('build', [('step', 'step2')])]
Run Code Online (Sandbox Code Playgroud)

dict 不能再用于表示已解析的内容。

我正在寻找Python中的解决方案,但没有找到支持此功能的库,是否错过了任何内容?

另外,我很乐于写自己的东西,但想使其尽可能简单。ruamel.yaml看起来像Python中最先进的YAML解析器,并且看起来具有一定程度的可扩展性,是否可以扩展以支持重复字段?

python yaml pyyaml ruamel.yaml

4
推荐指数
2
解决办法
6241
查看次数

使用资源管理器(ARM)模板通过Git部署来部署Azure Web App

本示例说明如何创建通过Azure资源管理器(ARM)模板链接到GitHub存储库的Web应用程序:https : //github.com/Azure/azure-quickstart-templates/tree/master/201-web-app -github-deploy

这是依赖资源的代码段:

    {
      "apiVersion": "2015-04-01",
      "name": "web",
      "type": "sourcecontrols",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
      ],
      "properties": {
        "RepoUrl": "[parameters('repoURL')]",
        "branch": "[parameters('branch')]",
        "IsManualIntegration": true
      }
    }
Run Code Online (Sandbox Code Playgroud)

但是,我想创建一个网站,从我自己的本地git repo进行部署。如何使用ARM模板完成此操作?

更新:澄清我要做什么:我想创建一个具有附加的Git存储库的Web应用程序。请参阅本文:https : //azure.microsoft.com/zh-cn/documentation/articles/web-sites-publish-source-control/-我要自动执行的步骤在“启用... Web应用程序存储库” –我不想通过Azure门户进行操作

azure azure-web-sites azure-git-deployment azure-resource-manager

3
推荐指数
1
解决办法
1055
查看次数

如何在JSF中获取绝对URL?

我正在尝试在JSF中为我的Web应用程序编写导航.

到目前为止,我有这个:

<ul>
<ui:repeat value="#{pageBean.getPages()}" var="page">
   <li class="#{(pageContext.request.requestURI.endsWith(page.url)) ? 'current_page_item' : '' }">
       <a href="#{pageContext.servletContext.getRealPath(page.url)}">#{page.name}</a>
   </li>
</ui:repeat>
</ul>
Run Code Online (Sandbox Code Playgroud)

但是anchor的href属性总是空的.此外,我不确定是否pageContext.request.requestURI.endsWith(page.url)正常 - 我猜不是,因为没有页面有current_page_item类.

我究竟做错了什么?

谢谢!

java jsf javabeans

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