我正在使用EntityFramework Core 1.1.0.我可以查询表并加载实体,但Microsoft的指示表明我是否要加载关系数据,我应该使用以下.Include()函数:
https://docs.microsoft.com/en-us/ef/core/querying/related-data
您可以使用该
Include方法指定要包含在查询结果中的相关数据.在以下示例中,结果中返回的博客将Posts使用相关帖子填充其属性.Run Code Online (Sandbox Code Playgroud)using (var context = new BloggingContext()) { var blogs = context.Blogs .Include(blog => blog.Posts) .ToList(); }
我别无选择.Include().
任何想法为什么缺少或如何加载外键关系数据?
this.context.Mail
.Include("Files") // This is missing
Run Code Online (Sandbox Code Playgroud)
我已经使用显式加载关系数据.这适用于小型结果集,但随着我的数据集的增长,这将使我感到悲伤.
var mails = this.context.Mail.ToList();
mails.ForEach(mail =>
{
this.context.Entry(mail)
.Collection(m => m.Files)
.Load();
});
Run Code Online (Sandbox Code Playgroud) 我们可以ModelExpression在TagHelper中使用此属性:
[HtmlAttributeName("asp-for")]
public ModelExpression For { get; set; }
Run Code Online (Sandbox Code Playgroud)
我设法以某种方式拥有一个拥有ModelExpression属性的ViewModel :
public class TemplateViewModel
{
public ModelExpression For { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
每次我尝试传递它时,Model表达式都是Forfrom TemplateViewModel,而不是真正的Expression wich存储到For:
@model TemplateViewModel
<input asp-for="@Model.For" class="form-control"/>
Run Code Online (Sandbox Code Playgroud)
以上结果为:
<input class="form-control" type="text" id="For" name="For" value="Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression" />
Run Code Online (Sandbox Code Playgroud)
我希望输入是用ModelExpression而不是文字a ModelExpression来描述的ModelExpression。
*因为我想使用使用TagHelper的模板视图IHtmlHelper::PartialView()。此示例已大大减少。我的主要目的是创建单个<form-group for="" />TagHelper,该生成一个Bootstrap Form Group。
在JavaFX的,有没有类似的东西setLayout();还是 setBounds();?
例如,我想将按钮定位到我想要的位置.
我导航到这个文件夹:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External
Run Code Online (Sandbox Code Playgroud)
并使用此命令以管理员身份打开命令提示符
npm install npm@latest -g
Run Code Online (Sandbox Code Playgroud)
然后我发出了这个命令:
npm -v
Run Code Online (Sandbox Code Playgroud)
结果:1.4.9
不应该是3.10.8吗?
这是我的输出:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External>npm -v
1.4.9
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External>npm install npm@latest -g
npm http GET https://registry.npmjs.org/npm
npm http 304 https://registry.npmjs.org/npm
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node\npm -> C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node\node_modules\npm\bin\npm-cli.js
npm@3.10.8 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node\node_modules\npm
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External>npm -v …Run Code Online (Sandbox Code Playgroud) 从这个问题开始,我现在在asp.net核心应用程序中设置了预编译视图,该程序使用命令行从命令行编译为DLL。
dotnet剃须刀预编译
命令。然后我将其打包为nuget包,使用
网络包
并将该软件包添加为对我从中删除视图的项目的引用。然后,我创建了一个新类,该新类IViewLocationExpander在setup.cs我的项目的方法中实现并设置了该类,并且可以看到它在我的新位置搜索视图。但是,我不知道将什么作为预编译视图的搜索路径,因为其中没有.cshtml文件。我只是得到一个InvalidOperationException与找不到视图。
有没有人做过此事或能够建议我如何将这些预编译的视图添加到搜索路径?
谢谢
出于性能原因,我想使用预编译视图部署我的网站。所以我已经配置了UseMerge和PrecompileBeforePublish。
这是我的发布简介的一部分:
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>False</EnableUpdateable>
<UseMerge>True</UseMerge>
<SingleAssemblyName>Conwell.Administration.Views</SingleAssemblyName>
<DeleteAppCodeCompiledFiles>True</DeleteAppCodeCompiledFiles>
Run Code Online (Sandbox Code Playgroud)
这在 UI 中得到体现:
我的Conwell.Administration.Views.dll创建成功了。但是发布后,.precompiled我的 bin 文件夹中为每个视图都有一个附加文件:
内容如下:
<?xml version="1.0" encoding="utf-8"?>
<preserve resultType="2" virtualPath="/Areas/Bookings/Views/SepaDebits/Detail.cshtml" hash="fffffffff9d57aef" filehash="1737cd4f2d0e" flags="110000" assembly="Conwell.Administration.Views" type="ASP._Page_Areas_Bookings_Views_SepaDebits_Detail_cshtml">
<filedeps>
<filedep name="/Areas/Bookings/Views/SepaDebits/Detail.cshtml" />
</filedeps>
</preserve>
Run Code Online (Sandbox Code Playgroud)
我尝试简单地删除它们,但网站只显示一个空白页面。我不喜欢那么多*.compiled文件。加起来有一千多。
它们的用途是什么?视图引擎?是否可以以某种方式禁用它们?也许是自定义 ViewEngine?
到目前为止我只找到了这个线程,但它没有给出任何指示。
我将spyder版本从3.1.3更新为3.2.3,现在在“工具”菜单下找不到“打开命令提示符”选项。
降级到3.1.3时又回来了,但我更喜欢使用更新的版本。
有什么想法吗?
我有一个包含三个 .NET Core 2 项目的解决方案。在每个项目中,我都有几个 .tt T4 模板。
我正在寻找一种巧妙的方法来一次转换所有模板,并找到了Transform All Templates -Command。
不幸的是,该命令什么也不做。如果我在我的解决方案中执行它,输出会显示:
Transforming templates for all project items.
-------------------------------------
-------------------------------------
Text templating transformation complete.
Run Code Online (Sandbox Code Playgroud)
但是在我检查我的模板后,它们没有更新。如果我转到一个模板文件并保存它,它总是会转换,但只有这个模板。我有 20 个模板,不想单独访问每个文件。
任何想法,为什么命令不起作用?
我正在使用 Linux 内核 2.6.38,并且我正在运行一个分配 4GB 内存的进程,并且我有 4GB 的可用内存,所以当我运行我的应用程序时,它从交换空间分配了大约 0.5GB。但是,我的应用程序运行了很长时间并多次访问交换空间上的数据。
(已编辑)为了澄清我在做什么:
我正在运行带有 4 GB RAM 的 Linux 2.6.38。
在不运行任何应用程序的情况下,系统占用大约 500MB 的 RAM。
我创建了一个简单的应用程序,它分配 4GB 的内存并在分配的内存中查找并多次更改该内存的值(循环 10 次迭代)。
很明显,我需要交换空间才能运行应用程序。
当我运行我的应用程序时,交换空间不断累积并在几次迭代后变满,并且进程被终止。
进程被杀死后,交换空间也保持满了。
我在更新的内核上测试了我的应用程序,它运行良好,交换空间不会累积。
这是内核版本 (2.6.38) 上的错误吗?有解决办法吗?
我想在 PDF 页面中查找文本位置?
我尝试过的是使用简单的文本提取策略通过 PDF 文本提取器获取 PDF 页面中的文本。我正在循环每个单词以检查我的单词是否存在。使用以下方法拆分单词:
var Words = pdftextextractor.Split(new char[] { ' ', '\n' });
Run Code Online (Sandbox Code Playgroud)
我无法做的是找到文本位置。问题是我无法找到文本的位置。我只需要找到 PDF 文件中单词的 y 坐标。
c# ×5
asp.net-core ×3
razor ×3
asp.net-mvc ×2
.net-core ×1
anaconda ×1
asp.net ×1
itext7 ×1
javafx ×1
linux ×1
linux-kernel ×1
npm ×1
positioning ×1
spyder ×1
swap ×1
t4 ×1