小编Sim*_*mon的帖子

如何以编程方式将SQL数据类型转换为.Net数据类型?

任何人都可以向我展示一种将SQL Server数据类型(例如varchar)转换为.Net数据类型(例如String)的方法.我假设自动转换是不可能的?我有一个'EntityProperty'对象,并希望它有一个适当的'Type'属性(字符串,十进制,int32等),此时此属性只是一个字符串 - 例如'int32'.

一点背景:我在内部代码生成应用程序中使用SQL DMO来查询数据库并从数据库生成基于DAL的存储过程.作为一个内部应用程序,我可以采取相当多的快捷方式,并作出一些假设.为了使应用程序正常运行,此数据类型转换由Select Case语句处理,该语句只将类型转换为字符串并根据这些字符串生成一组属性,但我更愿意处理这些属性类型(使用TypeOf等).

有人在做类似的事吗?

我知道EF,nHibernate,Subsonic等可以为我做这一切,但在这种情况下,出于各种原因,我不得不自己动手.:)

.net sql-server code-generation

7
推荐指数
2
解决办法
7312
查看次数

MVC 4中的ClientValidationEnabled和UnobtrusiveJavaScriptEnabled

在MVC 4,为了使客户端验证的观点,应该两键ClientValidationEnabledUnobtrusiveJavaScriptEnabled在web.config中是真的吗?

WEB.CONFIG

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4

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

创建压缩(或压缩)文件夹

有没有办法在Windows中以编程方式创建压缩文件夹?我无法使用FileSystemObject看到这样做的方法(尽管有'Compressed'属性).

我已经看过zip dll了,但是如果可能的话,我宁愿避免重新发布一个dll.Windows XP本身就支持压缩文件夹.

vb6 vba

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

为什么我会在商业应用中使用Reflection?

我知道什么是反射,但为什么我需要在典型的业务线Winforms应用程序中使用它?

.net reflection

6
推荐指数
1
解决办法
1109
查看次数

我可以将依赖注入ServiceStack请求过滤器吗?

我可以成功地将依赖项注入到我的ServiceStack服务中,但现在我需要将依赖项注入请求过滤器.然而,这看起来似乎没有相同的方式.

这是我的过滤器(它只是检查源IP是否在批准列表中;这是我试图注入的列表):

 public class CheckIPFilter : RequestFilterAttribute
{
    private readonly IList<string> _IPAddresses = new List<string>();

    public CheckIPFilter() { }

    public CheckIPFilter(IList<string> IPAddresses)
    {
        _IPAddresses = IPAddresses;
    }

    public override void Execute(ServiceStack.ServiceHost.IHttpRequest req, ServiceStack.ServiceHost.IHttpResponse res, object requestDto)
    {
        if (!_IPAddresses.Contains(req.UserHostAddress))
        {
            var errResponse = DtoUtils.CreateErrorResponse("401", "Unauthorised", null);
            var responseDto = DtoUtils.CreateResponseDto(requestDto, new ResponseStatus("401", "Unauthorised"));
            var contentType = req.ResponseContentType;
            var serializer = EndpointHost.AppHost.ContentTypeFilters.GetResponseSerializer(contentType);
            res.ContentType = contentType;

            var serializationContext = new HttpRequestContext(req, res, responseDto);
            serializer(serializationContext, responseDto, res);
            res.EndRequest(); //stops further execution of this …
Run Code Online (Sandbox Code Playgroud)

c# servicestack

6
推荐指数
1
解决办法
650
查看次数

如何将HTML属性添加到R​​azor HtmlHelper?

我有一些关于Razor语法的一般性问题我一直在寻找一个正在研究的项目......

使用的主要助手之一是: @Html.InputFor

然后他们插入一些Lambda例如: @Html.InputFor(_ => _.User)

我的问题是,我如何使用这个助手(我无法通过谷歌搜索找到任何细节),即添加自定义CSS类等属性?

我应该使用更好的帮手吗?(我是Razor的新手)

c# asp.net-mvc razor

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

DataGridView列顺序似乎不起作用

我有一个绑定到业务对象列表的DataGridView:

Dim template As New IncidentTemplate
Dim temps As List(Of IncidentTemplate) = template.LoadAll
Dim bs As New BindingSource

If Not temps Is Nothing Then

   bs.DataSource = temps
   Me.dgvTemplates.DataSource = bs

End If
Run Code Online (Sandbox Code Playgroud)

然后我添加一个未绑定的按钮列,并使一些绑定列不可见:

        Dim BtnCol As New DataGridViewButtonColumn
        With BtnCol
            .Name = "Edit"
            .Text = "Edit"
            .HeaderText = String.Empty
            .ToolTipText = "Edit this Template"
            .UseColumnTextForButtonValue = True
        End With

        .Columns.Add(BtnCol)
        BtnCol = Nothing

        For Each col As DataGridViewColumn In Me.dgvTemplates.Columns

               Select Case col.Name

                Case "Name"
                    col.DisplayIndex = 0
                    col.FillWeight = …
Run Code Online (Sandbox Code Playgroud)

vb.net datagridview

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

正则表达式 - 仅匹配7个字符?

我正在尝试匹配一个SEDOL(正好是7个字符:6个字母数字字符后跟1个数字字符)

我的正则表达式

([A-Z0-9]{6})[0-9]{1}

匹配正确,但是以有效匹配开头的大于7个字符的字符串也匹配(如果你看到我的意思:)).例如:

B3KMJP4

匹配正确,但也是如此:

B3KMJP4x

哪个不应该匹配.

谁能告诉我如何避免这种情况?

.net regex

5
推荐指数
2
解决办法
3776
查看次数

RegEx - 获取文本字符后面的所有数字字符

给定格式为字符串的字符串:XXX999999v99(其中X是任何字母字符,v​​是任何数字字符,v是文字v字符)如何获得正则表达式以匹配v后面的数字字符?到目前为止,我有'v\d\d',其中包括v,但理想情况下我只想要数字部分.

另外,有人知道一个工具,你可以在其中指定一个匹配的字符串并生成正则表达式吗?修改现有的正则表达式是一回事,但我发现从头开始痛苦!

编辑:重新阅读这个问题我意识到它看起来像一个家庭作业!但是我可以向你保证,不是,我想要匹配的字符串代表产品代码附加的产品版本.当前代码使用各种子字符串表达式来检索版本部分.

.net regex

5
推荐指数
1
解决办法
1957
查看次数

使用multi.Read,输出参数始终为null

我们广泛使用Dapper.Net并对它非常满意.但是,在尝试使用multi.Read从存储过程中检索输出参数时,我们遇到了一个问题:

var p = new DynamicParameters(); 
p.Add("@id", id); 
p.Add("TotalRows", dbType: DbType.Int32, direction: ParameterDirection.Output); 

using (var multi = cnn.QueryMultiple(string.Format("dbo.[{0}]", spName), p,
    commandType: CommandType.StoredProcedure))
{  
    int TotalRows = p.Get<int>("@TotalRows"); //This is always null

    var results = multi.Read<New_Supplier>().ToList<IDBSupplier>();
    var areas = multi.Read<node>().ToList<IDBNode>();
    var categories = multi.Read<node>().ToList<IDBNode>();
    int TotalRows = multi.Read<int>().FirstOrDefault(); // This works

}
Run Code Online (Sandbox Code Playgroud)

但是,如果我们使用connection.Query语法来获取单个结果集,则会填充输出参数:

var result = cnn.Query<New_Supplier>(string.Format("spname"), p,
    commandType: CommandType.StoredProcedure).ToList<New_Supplier>();
int TotalRows = p.Get<int>("@TotalRows");
Run Code Online (Sandbox Code Playgroud)

错误是Dapper DynamicParameters中输出参数的AttachedParam的sqlValue始终为null.

为了解决这个问题,我们将输出参数的值添加到存储过程的结果集中,并以这种方式读取它.

为什么参数总是为空?

c# dapper

5
推荐指数
1
解决办法
1923
查看次数