我正在尝试使用Visual Studio 2015 RC,特别是要切换到新的ASP.NET 5框架,项目结构和运行ASP.NET 5应用程序的新DNX.
我的雇主有许多针对.NET Framework 4.5.2的现有解决方案.在我们现有的Visual Studio解决方案中,我们可能有以下项目:
[Solution] Sample.sln
[Folder] src
[Project] ClassLibrary.csproj
[Project] WindowsService.csproj
[Project] WebApplication.csproj
[Folder] test
[Project] ClassLibrary.UnitTests.csproj
...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,ClassLibrary.csproj是一个包含共享代码的C#类库.这是一个依赖/双方所引用WindowsService.csproj和WebApplication.csproj.
我们没有特别努力的目标.NET的核心,dnxcore50.在这个阶段,我们很高兴以.NET Framework为目标dnx451.但是,我们绝对试图利用ASP.NET 5的新功能和相关的项目结构.
以下是我想到的一些选项,但两者都有问题.
当我们用WebApplication.csproj新的ASP.NET 5 DNX项目替换上面的项目时,WebApplication-dnx我们仍然可以引用ClassLibrary.csproj这个新的DNX项目和现有WindowsService.csproj项目.但是出现了一些问题:
这种方法意味着对ClassLibrary.csproj需要重建的代码的任何更改都在运行中可见WebApplication-dnx.这并不奇怪,但意味着我们无法获得完整的源代码编译优势WebApplication-dnx.
我们不能轻易地针对其他框架,例如dnxcore50.如上所述,这不是现阶段的具体目标.
如果我们ClassLibrary.csproj用DNX类库项目替换^ ClassLibrary-dnx那么选项1中的问题不适用.这种方法似乎更加符合.NET运行时和ASP.NET等相关技术的前进方式.
不过,我不能找到一种方法来引用ClassLibrary-dnx从WindowsService.csproj.如果这种方法是可行的,我想这个解决方案与项目级别选项有关Produce outputs on build,然后引用.nupkg …
使用Entity Framework Code First 4.3.1时,可以创建多重1对1的关系.也就是说,关系的每一端都有一个实体.
可以将所需的 1对1关系配置为必需或必需 - 可选 ^.但是,当我在两者之间切换时,我看不出任何差异:
因此,我能够创建一个RequiredPrincipalAs记录而没有相应的RequiredDependentAs记录,尽管关系被配置为required-required.这似乎与HasRequired(...)的文档相矛盾:
从此实体类型配置所需的关系.除非指定了此关系,否则无法将实体类型的实例保存到数据库.数据库中的外键将不可为空.
该时需提供-关系的实体:
public class RequiredPrincipalA
{
public int Id { get; set; }
public virtual RequiredDependentA DependentA { get; set; }
}
public class RequiredDependentA
{
public int Id { get; set; }
public virtual RequiredPrincipalA PrincipalA { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
该要求,可选的关系实体:
public class RequiredPrincipalB
{
public …Run Code Online (Sandbox Code Playgroud) 在使用EF Code First时,有两种变更跟踪选项:
使用每种更改跟踪方法运行时,请考虑以下代码.假设具有默认配置选项的DbContext实例.
var o = context.MySet.First();
o.MyProperty = 42;
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
如果由第一行上下文加载和跟踪的实体实例对于"MyProperty"已经具有值42,则在第三行的"SaveChanges"调用期间,其在更改跟踪器中的状态是不同的.
鉴于在基于通知的变更跟踪下,在调用"SaveChanges"期间将向数据库发送不必要的更新语句我设想大多数开发人员更喜欢基于快照的变更跟踪的行为.
这种行为的意义是否有意?
当使用基于通知的代理更改跟踪时,是否有办法实现与基于快照的更改跟踪相同的行为?
请注意,我认为这与此功能建议有关 - http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/1015363-better-change-tracking-for-poco-proxies
可以配置TFS2015.2 Error message highlight pattern和Warning message highlight patternTFS2015.2 Command Line吗?
例如,我可能有以下构建定义来运行命令行实用程序,比如gulp执行某些任务,例如代码linting.
该stdout实用程序的精确标准输出(via )将根据正在运行的精确lint任务而变化.例如,一个用于分析TypeScript代码的工具和另一个用于分析Sass代码的工具.
此外,该实用程序可以:
stderr).上述两种情况都不适合我,因为在某些情况下我不希望TFS认为构建步骤失败.但我确实希望在日志和构建摘要中突出显示警告.
能够教授Command Line关于表示警告和错误的特定输出消息模式的步骤将是有用的.
在Command Line步骤的构建日志中,我看到:
这似乎提示了一种为输出配置线匹配模式的方法,它表示警告和错误.但是,我找不到配置这些的方法,因此我的问题.
我应该指出,我知道还有其他方法可以实现这一目标:
我的问题具体涉及Command Line在这些选项不可用或不可取时直接使用内置通用步骤.