草庐IT

c# - 使用 AutoMapper 映射未知类型

我正在使用AutoMapper将一个对象的属性复制到另一个对象:这是我的代码://GettypeandcreatefirstobjectTypeitemType=Type.GetType(itemTypeName);varitem=Activator.CreateInstance(itemType);//Setitemproperties..Coderemovedforclarity..//GetitemfromEntityFrameworkDbContextvarset=dataContext.Set(itemType);varitemInDatabase=set.Find(id);

c# - 在 WebApi 中组合路由映射

我在我的WebApiKatana应用程序中使用路由。我有以下两个工作正常的路由映射。我的问题是,我可以使用可选参数将它们组合成一个路由映射吗?我看不到一个明显的方法来做到这一点并保持所需的功能。我对此并不陌生,可能错过了一种可以帮助我实现这一目标的技术。如果路线必须保持这种状态,那么这不是问题。config.Routes.MapHttpRoute(name:"UnRegister",routeTemplate:"api/services/{serviceName}/{location}",defaults:new{controller="MyController",location=R

c# - 如何在 Fluent NHibernate 中映射 IDictionary<string, Entity>

我有一个带有IDictionary的类。如您所见,它使用多对多从其表中获取CodedExamples,使用tOwnedCodedExample表查找哪些属于OwnerClass。我意识到这是一个非常基本的(希望是标准的)映射,但我正在苦苦挣扎,找不到任何文档,因此非常感谢任何可能的帮助。非常感谢斯图 最佳答案 我有一个工作示例,这应该让您清楚。类:publicclassCustomer:Entity{publicIDictionaryFavouriteBooks{get;set;}}publicclassBook:Entity{pu

c# - 如何使用 AfterMap 将属性映射到集合属性

我有两个实体和两个DTO。我正在将实体映射到DTO。DTO的简化版本如下所示:publicclassFooDto{//Otherpropertiesremovedforclarity.publicstringDescription{get;set;}publicdecimalTotal{get;set;}publicICollectionBars{get;set;}}publicclassBarDto{//Otherpropertiesremovedforclarity.publicdecimalTotal{get;set;}}Foo和Bar类是:publicclassFoo{publ

c# - 使用 AutoMapper 将 DataTable 映射到对象 (DTO)

我正在尝试使用AutoMappersDynamicMap功能将DataTable映射到对象(DTO)。DataTabledt;dt=newdalAllInvestors().InvestorNameSearch(investorNameSearch);//LookatDynamicMap-UrgentListapiObject=AutoMapper.Mapper.DynamicMap>(dt.CreateDataReader());returnapiObject;publicclassdtoAPISimpleInvestor{publicintFirmID{get;set;}publi

c# - AutoMapper 如何根据上下文以不同方式将对象 A 映射到对象 B

召集所有AutoMapper专家!我希望能够根据运行时的上下文以不同方式将对象A映射到对象B。特别是,我想在一种映射情况下忽略某些属性,而在另一种情况下映射所有属性。我遇到的是Mapper.CreateMap可以在不同的映射情况下成功调用,但是,一旦调用CreateMap,就会设置特定类型对的映射,并且随后不会通过成功的CreateMap调用进行更改,这可能以不同方式描述映射。我发现一篇博文提倡Mapper.Reset()来解决这个问题,但是,Mapper类的静态性质意味着碰撞和崩溃发生只是时间问题。有办法吗?我认为我需要为每个应用程序域调用一次Mapper.CreateMap,然后能

c# - 我应该在哪里放置我的域模型以查看模型映射代码?

目前我在我的Controller文件中使用私有(private)静态方法将域模型映射到View模型,反之亦然。如下所示:publicActionResultDetails(intpersonID){PersonpersonDM=service.Get(personID);PersonViewModelpersonVM=MapDmToVm(personDM);returnView(personVM);}privatestaticPersonViewModelMapDmToVm(Persondm){PersonViewModelvm;//MaptoVMreturnvm;}还有其他标准方法可

c# - Dapper 中的自定义映射

我正在尝试将CTE与Dapper和多重映射结合使用来获取分页结果。我对重复的列感到不便;例如,CTE使我不必为列命名。我想将以下查询映射到以下对象,而不是列名和属性之间的不匹配。查询:WITHTempSitesAS(SELECT[S].[SiteID],[S].[Name]AS[SiteName],[S].[Description],[L].[LocationID],[L].[Name]AS[LocationName],[L].[Description]AS[LocationDescription],[L].[SiteID]AS[LocationSiteID],[L].[Reporti

c# - 从现有数据库和 Fluent NHibernate 自动映射生成 C# 实体

我正在使用一个现有的数据库,该数据库使用了一些非常丑陋的约定。我想使用NHibernate,并且我认为我可以使用FluentNHibernate的自动映射约定来修复所有这些丑陋的数据库约定。我想避免手动编写所有实体类。(这就是LINQtoSQL和SubSonic的吸引力所在)是否可以根据我在FluentNHibernate中指定的数据库模式和映射生成我的C#实体?旁白:您知道NHibernate的设计器吗? 最佳答案 我想,这就是您想要的:NHibernate映射生成器。http://nmg.codeplex.com/

c# - Automapper:手动映射属性

我刚开始使用automapper来映射DTO实体,它似乎工作得很好。在某些特殊情况下,我只想映射一些属性并执行额外的检查。没有自动映射器,代码看起来像这样(使用fasterflect的PropertyExtensions):objecttarget;objectsource;string[]changedPropertyNames={};foreach(varchangedPropertyNameinchangedPropertyNames){varnewValue=source.GetPropertyValue(changedPropertyName);target.SetPrope