我有一个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
我试图在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中得到了同样的结果.
您是否知道可能导致问题的原因或我如何进一步诊断?
我们需要解析包含重复密钥的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解析器,并且看起来具有一定程度的可扩展性,是否可以扩展以支持重复字段?
本示例说明如何创建通过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
我正在尝试在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类.
我究竟做错了什么?
谢谢!