小编mar*_*nes的帖子

使用AutoMapper将对象的属性映射到字符串

我有以下型号:

public class Tag
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够使用AutoMapper NameTag类型的属性映射到我的一个viewmodel中的字符串属性.

我使用以下代码创建了一个自定义解析器来尝试处理此映射:

public class TagToStringResolver : ValueResolver<Tag, string>
    {
        protected override string ResolveCore(Tag source)
        {
            return source.Name ?? string.Empty;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我使用以下代码进行映射:

Mapper.CreateMap<Tag, String>()
    .ForMember(d => d, o => o.ResolveUsing<TagToStringResolver>());
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我收到错误:

仅对类型上的顶级单个成员支持成员的自定义配置.

我究竟做错了什么?

.net c# mapping automapper automapper-2

33
推荐指数
2
解决办法
2万
查看次数

IIS中的嵌套ASP.NET"应用程序"继承父配置值?

我目前在IIS7中有2个ASP.NET 3.5 Web应用程序(我们称之为WebParent和WebChild).

WebChild嵌套在IIS7中的WebParent列表中,并设置为应用程序(而不仅仅是WebParent中的虚拟目录).两者目前都使用自己的(Classic)应用程序池.

WebParent和WebChild都在自己的根目录中拥有自己完全定义的web.config文件.

我假设看到WebChild被定义为IIS中的"应用程序",它不会从WebParent配置文件继承任何内容.但是,尽管有这样的配置,我看到web.config中的各种元素的错误已经被定义(这是正确的,两个配置文件中都有一些项目,但我认为它们应该完全独立于一个另一个)?

任何人都可以澄清为什么会发生这种情况?

asp.net iis-7 web-config

30
推荐指数
3
解决办法
4万
查看次数

使用ReSharper按类型对名称进行排序

我一直试图让ReSharpers Code Cleanup不仅按名称按字母顺序排序任何成员,而且主要按其类型(无论是方法返回类型还是属性类型等)对它们进行排序,然后按名称排序.

例如:

#region " Properties "

public string Name { get; set; }
public int Age { get; set; }

#endregion

#region " Instance Methods "

public void SecondMethod()...
public void FirstMethod()...
public Post GetPost()...
public List<Post> GetPosts()...

#endregion
Run Code Online (Sandbox Code Playgroud)

会成为:

#region " Properties "

public int Age { get; set; }
public string Name { get; set; }

#endregion

#region " Instance Methods "

public List<Post> GetPosts()...
public Post GetPost()...
public void FirstMethod()...
public void SecondMethod()...

#endregion
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望其他默认行为保持不变,例如构造函数,属性定位/分组,以及多个成员出现在区域内(如上例所示),以便独立排序的成员组来自该组/地区以外的成员. …

c# resharper

30
推荐指数
1
解决办法
5239
查看次数

返回sql行,其中字段仅包含非字母数字字符

我需要找出我的sql server表中特定字段中有多少行,只包含非字母数字字符.

我认为这是一个正则表达式,我需要沿着[^ a-zA-Z0-9]的行,但我不确定如果那里没有有效的字母数字字符,我需要返回行的确切语法.

regex sql t-sql sql-server

28
推荐指数
1
解决办法
12万
查看次数

元标记应该是HTML编码的吗?

我通常对我在网站上呈现的任何用户生成的内容进行HTML编码,因此&符号会变成&amp;等等.我想知道这是否应该(从标准的角度来看)到整个站点中任何动态生成的元标记?

html standards

22
推荐指数
2
解决办法
8089
查看次数

在Web API中传递枚举参数的最佳实践

我有一个RESTful Web API项目,我有2个不同的Enum场景,我不确定是最佳实践.

场景1:直截了当的Enum Param

我的API方法需要一个名为的参数ruleType,其有效值为EmailAddressIPAddress.我在Web API项目中的枚举如下所示:

public enum RuleType
{
    None = 0,
    EmailAddress = 1,
    IPAddress = 2
}
Run Code Online (Sandbox Code Playgroud)

我对这个场景的问题是,我应该?ruleType=EmailAddress在我的API请求中使用它(它会自动将该值绑定到RuleTypeAPI方法中的属性)吗?如果是这样,如何最好地验证RuleTypeparam发送的是一个有效的RuleType Enum值?

场景2:单个参数的多个枚举值

我的API方法有一个可选的fieldsparam,它允许您指定应返回的任何其他数据.例如&fields=ruleOwner,rule.这将在响应中返回那2个额外的数据位.

我在Web API项目中有一个枚举,它与field可能请求的每个可能相关,目前,我正在拆分逗号分隔的字段param,然后循环遍历该枚举的每个字符串表示,将其解析为等效的枚举,结果在Enum值列表中,然后我可以在我的API中使用它来检索相关数据.

这是Enum:

public enum OptionalField
{
    None = 0,
    RuleOwner = 1,
    Rule = 2,
    etc.
}
Run Code Online (Sandbox Code Playgroud)

这里最好的做法是什么?我正在查看按位枚举,因此在API请求中发送了一个值,这导致了任何组合,fields但不知道这是否适用于Web API,或者通常是否有更好的方法来解决这个问题?

c# rest enums asp.net-web-api

21
推荐指数
3
解决办法
4万
查看次数

IIS Express Web服务器 - (每个)端口正在使用?

今天我安装了VS2010 SP1 Beta和IIS 7 Express,因为我目前在我的本地开发机器上安装了IIS5,并且认为我会尝试使用IIS Express.

我已进入Web应用程序的属性窗口,选中"使用IIS Express"复选框,在提示我时创建了虚拟目录,但随后收到消息"无法启动IIS Express Web服务器.端口x位于使用".

我已经尝试将端口号从其中的默认值更改为许多其他端口号,但无论有什么价值,我总是收到此消息,因此无法使用IIS Express Web服务器.

有谁知道问题可能是什么,以及如何解决它?

iis visual-studio-2010 visual-studio iis-express

16
推荐指数
1
解决办法
3万
查看次数

流畅的NHibernate级联问题 - 尝试插入NULL ID

我有以下模型和映射(下面的代码片段).

一场比赛必须从一开始就有多个与之相关的CompetitionAnswers(多选).

目前,使用下面显示的Fluent NHibernate映射,当我创建一个全新的Competition对象时,填充属性,然后创建3个全新的CompetitionAnswer对象并将它们添加到CompetitionAnswers属性(竞争中的属性),我希望调用Save在会话上将INS竞赛行和3个CompetitionAnswer行插入DB.

但是,当我尝试在会话上调用Save时,它会抱怨CompetitionId为null并且无法在该字段的CompetitionAnswers表中插入null - 这是对的,但是,我不应该这样做NHibernate首先创建竞赛,然后在CompetitionAnswers表中使用新生成的IDENTITY值(CompetitionId)?

比赛(模特)

public virtual int CompetitionId { get; private set; }
public virtual string Title { get; set; }
public virtual string Description { get; set; }
public virtual IList<CompetitionAnswer> CompetitionAnswers { get; set; }
Run Code Online (Sandbox Code Playgroud)

CompetitionAnswer(型号)

public virtual int CompetitionAnswerId { get; set; }
public virtual string Answer { get; set; }
public virtual Competition Competition { get; set; }
Run Code Online (Sandbox Code Playgroud)

CompetitionMap(流利的NHibernate制图)

public CompetitionMap()
{
    Id(x => x.CompetitionId)
        .GeneratedBy.Native();
    Map(x => x.Title);
    Map(x => x.Description); …
Run Code Online (Sandbox Code Playgroud)

.net asp.net nhibernate fluent-nhibernate

13
推荐指数
2
解决办法
1万
查看次数

Dapper.net交易问题

我正在尝试将事务提交到我的Sql Server 2008数据库 - 首先是2次插入然后是几次更新,但是,一旦它尝试执行第一次更新,我就会收到以下错误:

当分配给命令的连接处于挂起的本地事务中时,ExecuteNonQuery要求命令具有事务.该命令的Transaction属性尚未初始化.

这是代码,为简洁起见略有编辑:

using (_cn)
{
    _cn.Open();
    IDbTransaction transaction = _cn.BeginTransaction();
    topicId = (int)_cn.Query<decimal>(qAddTopic, new { pForumId = topic.ForumId }, transaction).Single();
    postId = (int)_cn.Query<decimal>(qAddPost, new { pTopicId = topicId }, transaction).Single();

    _cn.Execute(qUpdateForums, new { pLastPostId = postId });
    _cn.Execute((qUpdateSiteTotals));

    transaction.Commit();
}
Run Code Online (Sandbox Code Playgroud)

前2个插入工作正常,但只要它尝试执行其中一个更新,就没有快乐.

asp.net orm sql-server-2008 dapper

13
推荐指数
2
解决办法
6767
查看次数

NHibernate一对一映射

我是NHibernate的新手所以到目前为止对映射等的接触有限,而且我刚刚遇到了一个我需要一些帮助的场景.

我有2张桌子:

评论TaggedReviews

我有2个看起来像这样的类(为简洁起见,我排除了非重要属性):

评论

public virtual int ReviewId { get; set; }
public virtual TaggedReview TaggedReview { get; set; }
public virtual string Title { get; set; }
public virtual string Descrip { get; set; }
Run Code Online (Sandbox Code Playgroud)

TaggedReview

public virtual int ReviewId { get; set; }
public virtual Review Review { get; set; }
public virtual string TaggedReviewDescrip { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的NHibernate这些表/类的XML映射文件目前如下(为简洁起见编辑):

Review.hbm.xml

<class xmlns="urn:nhibernate-mapping-2.2" name="Review" table="Reviews">
    <id name="ReviewId" unsaved-value="0">
        <column name="ReviewId"></column>
        <generator class="native" />
    </id>

    <property name="Title" not-null="true" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net nhibernate nhibernate-mapping

12
推荐指数
1
解决办法
2万
查看次数