我正在使用Automapper 5.2.我用这个链接作为基础.我将逐步描述设置我所经历的Automapper的过程.
首先我按照指示将Automapper添加到Project.json:
PM> Install-Package AutoMapper
Run Code Online (Sandbox Code Playgroud)
其次,我创建了一个文件夹,用于保存与映射相关的所有文件,称为"映射"
第三,我在自己的mappings文件夹文件中设置了Automapper的配置:
public class AutoMapperConfiguration
{
public MapperConfiguration Configure()
{
var config = new MapperConfiguration(cfg =>
{
cfg.AddProfile<ViewModelToDomainMappingProfile>();
cfg.AddProfile<DomainToViewModelMappingProfile>();
cfg.AddProfile<BiDirectionalViewModelDomain>();
});
return config;
}
}
Run Code Online (Sandbox Code Playgroud)
Forth还在mappings文件夹中的自己的文件中,我设置了映射配置文件,如下所示:
public class DomainToViewModelMappingProfile : Profile
{
public DomainToViewModelMappingProfile()
{
CreateMap<Client, ClientViewModel>()
.ForMember(vm => vm.Creator, map => map.MapFrom(s => s.Creator.Username))
.ForMember(vm => vm.Jobs, map => map.MapFrom(s => s.Jobs.Select(a => a.ClientId)));
}
}
Run Code Online (Sandbox Code Playgroud)
第五,我在mappings文件夹中添加了一个扩展方法作为自己的文件...这在startup.cs中使用了下一个:
public static class CustomMvcServiceCollectionExtensions
{
public static void AddAutoMapper(this …
Run Code Online (Sandbox Code Playgroud) 我已经设置了我认为非常简单的数据库。但是我收到以下错误。
在表 'User' 上引入 FOREIGN KEY 约束 'FK_User_Suburb_SuburbId' 可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。无法创建约束或索引。请参阅以前的错误。
这是我的 CATALOGCONtext:
using JobsLedger.CATALOG.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
namespace JobsLedger.CATALOG
{
public class CATALOGContext : DbContext
{
public DbSet<Tenant> Tenants { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<State> States { get; set; }
public DbSet<Suburb> Suburbs { get; set; }
public DbSet<CATALOGCounter> Counters { get; set; } …
Run Code Online (Sandbox Code Playgroud) 我一直在研究VS2017 RC.
我最终想要从ASPNETCORE项目中运行一个反应SPA项目.为此,我基于此的模板是一个带有project.json文件的VS2015.
在VS2015 project.json文件中,我有两个通常不会出现在标准ASPNETCORE模板中的项目.
我想要包括的两件事情如下:
"publishOptions": {
"include": [
"wwwroot",
"web.config"
],
"exclude": [
"node_modules",
"**.xproj",
"**.user",
"**.vspscc"
]
},
"scripts": {
"prepublish": [
"npm install",
"node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js",
"node node_modules/webpack/bin/webpack.js"
],
Run Code Online (Sandbox Code Playgroud)
我在高低处看到了将其添加到csproj文件的位置.我已经尝试修改csproj文件,但在我这样做后,项目崩溃并最终出现各种错误和警告.
如何通过VS2017将这些添加到项目中?
如何修改项目外的csproj文件而不会导致项目崩溃.
我一直在研究适合这个问题的多个问题、教程和示例。
如果我在创建第一个初始迁移时不知道我的连接字符串怎么办?鉴于我有机会在实例化上下文时设置连接字符串,例如:
var connection = @"Server=(localdb)\mssqllocaldb;Database=JobsLedgerDB;Trusted_Connection=True;ConnectRetryCount=0";
var optionsBuilder = new DbContextOptionsBuilder<BloggingContext>();
optionsBuilder.UseSqlServer(connection);
using (var context = new BloggingContext(optionsBuilder.Options))
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
如文档中所述..
如果您需要一个连接字符串来运行迁移,那么对于那些没有连接字符串的情况(从用户帐户获取连接字符串的租户数据库),您如何运行初始迁移?
您是否创建了一个虚拟连接字符串来创建迁移.. 对我来说似乎很狡猾。我希望对此有一些意见。
c# entity-framework entity-framework-core asp.net-core entity-framework-migrations
我问了一个问题(我的努力得到了-2,但这不是重点)。唯一的答案表明我应该通过在 StartUp.cs 中添加它来使用延迟加载。
但是,无论我做什么,我都无法添加这个。我按照作者建议的链接的方向以及作者所做的操作进行操作,在所有情况下我都得到了以下结果。
严重性代码说明项目文件行抑制状态错误 CS1061“DbContextOptionsBuilder”不包含“UseLazyLoadingProxies”的定义,并且找不到接受“DbContextOptionsBuilder”类型的第一个参数的可访问扩展方法“UseLazyLoadingProxies”(您是否缺少 using 指令或程序集引用?) JobsLedger.API C:\Users\simon\OneDrive\Documents\1.0 - AURELIA\1.0 - JobsLedgerSPA -ASPNET CORE 3.1\JobsLedger.API\Startup.cs 74 活动
如果有汇编参考,我想知道是否有人可以指出我正确的方向。
这就是我目前所拥有的以及根据该问题的作者建议的链接进行的修改。
services.AddDbContext<CATALOGContext>(options => options.UseSqlServer(_configuration.GetConnectionString("CatalogConnection"), b => b.MigrationsAssembly("JobsLedger.CATALOG")));
services.AddDbContext<DATAContext>(options => options.UseLazyLoadingProxies().UseSqlServer(_configuration.GetConnectionString("TenantDbConnection"), a => a.MigrationsAssembly("JobsLedger.DATA")));
Run Code Online (Sandbox Code Playgroud)
我如何为“.UseLazyLoadingProxies”配置这些行,因为它目前说这是不可用的?
直到几周前,我的 Web 项目的构建(我有 3 个)突然间花了 5 分钟才能构建完成。
其他两个项目几乎不需要时间来构建。
我将构建设置更改为“详细”,我发现它挂在以下内容上:
Using shared compilation with compiler from directory: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Roslyn
Run Code Online (Sandbox Code Playgroud)
我没有做任何事情来创建这个,想知道现在是否有更新需要 Roslyn……我不确定 Roslyn 是什么。
我确实找到了这个,但我目前处于最新的预览版本......
有没有人知道这个或已经得到这个,如果是这样,他们是否能够修复它..
更新
我知道这不是人们想听到的。我使用的是 Visual Studio 19 16.4.0。今晚我升级到 16.4.1 并做了一个构建......当场。它完全按照应有的方式构建,没有 5 分钟延迟。所以我代表 MS 和 VS 把这归结为一个无用的构建......我想它会发生......
我有社区版的VS2015.我可以创建一个控制台应用程序,并构建它没有问题.一旦我运行包管理器并安装实体框架然后再次构建它就会给我上面的错误.
我安装了DNX.我试图卸载VS 2015并重新安装,但无济于事.发生这种情况是因为我试图安装MVC样板发现了这个地址:http://rehansaeed.com/asp-net-mvc-boilerplate/我已经卸载了它但DNX似乎仍然存在,现在我有了这个错误.
这可能是一个简单的解决方案,但我是初学者并且无法弄明白.任何人都想给我一些关于这是什么以及如何解决它的想法我会很感激.
我在 redux-form 文档中遵循了这个建议,它表明使用“FormSection”使主表单由许多组件组成是有利的。
完成后,我有一个客户端表单,其中嵌入了一个地址组件,如下所示:
<FormSection name="Address">
<Address />
</FormSection>
Run Code Online (Sandbox Code Playgroud)
有用。
但是,当我想根据 redux 表单文档中的此示例从 state 设置主表单的初始值时,主表单会填充,但 FormSection 中的 Address 组件不会。
我在客户端组件底部使用此代码连接到状态:
let ClientForm2 = connect(
(state, ownProps) => ({
initialValues: state.editClient,
enableReinitialize: true
}),
{ reducer }
)(ClientForm);
Run Code Online (Sandbox Code Playgroud)
你如何用来自主窗体的状态的初始值填充你的 FormSections?
没有关于如何用初始数据填充表单部分的信息......
c# ×5
asp.net-core ×4
asp.net-mvc ×3
arrays ×1
automapper ×1
entity-framework-migrations ×1
javascript ×1
reactjs ×1
redux ×1
redux-form ×1