小编šlj*_*ker的帖子

在c#代码中编写SQL查询的最佳实践是什么?

在我目前的项目中,我正在使用SQL CE.由于它不支持存储过程,我必须在存储库中编写sql查询.

选项1:

StringBuilder query = new StringBuilder();
query.Append("SELECT");
query.Append("    c.CUSTOMER_ID,");
query.Append("    COALESCE (c.FIRST_NAME, '') + ' ' + COALESCE (c.LAST_NAME, '') AS FULL_NAME");
query.Append("    ct.NAME as CUSTOMER_TYPE");
query.Append("FROM ");
query.Append("    CT_CUSTOMER_TYPE AS ct INNER JOIN CUSTOMER AS c ON ct.CUSTOMER_TYPE_ID = c.CUSTOMER_TYPE_ID");
Run Code Online (Sandbox Code Playgroud)

选项2:

string query = "SELECT c.CUSTOMER_ID, COALESCE (c.FIRST_NAME, '') + ' ' + COALESCE (c.LAST_NAME, '') AS FULL_NAME, ct.NAME as CUSTOMER_TYPE FROM CT_CUSTOMER_TYPE AS ct INNER JOIN CUSTOMER AS c ON ct.CUSTOMER_TYPE_ID = c.CUSTOMER_TYPE_ID";
Run Code Online (Sandbox Code Playgroud)

选项1似乎更具可读性,特别是当我有10个以上的表连接时,但选项2更快.
我应该接受哪个选项,在这种情况下最佳做法是什么?

c# coding-style

7
推荐指数
3
解决办法
5270
查看次数

Url.Action基于当前路线

我想基于现有路线生成新的URL,但会添加一个新参数'page'
以下是一些示例:

old:〜/ localhost/something?what = 2
new:〜/ localhost/something?what = 2&page = 5

老:〜/ localhost /鞋子
新:〜/ localhost/Shoes/5

我不能只将&page = 5附加到现有网址,因为路由可能不同.
有些使用查询字符串,有些则不使用.

asp.net-mvc

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

如何设置DotNetOpenAuth的返回URL

我正在使用DotNetOpenAuth登录Facebook.
这是代码:

var facebookClient = new FacebookClient
{
    ClientIdentifier = "appId",
    ClientSecret = "appSecret"
};
IAuthorizationState authorization = facebookClient.ProcessUserAuthorization();
if (authorization == null)
{
    // Kick off authorization request
    facebookClient.RequestUserAuthorization();
}
else
{

    var request =
        WebRequest.Create("https://graph.facebook.com/me?access_token=" +
                            Uri.EscapeDataString(authorization.AccessToken));

    using (var response = request.GetResponse())
    {
        using (var responseStream = response.GetResponseStream())
        {
            var graph = FacebookGraph.Deserialize(responseStream);
            lblFacebookUserName.Text = HttpUtility.HtmlEncode(graph.Name);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我正在使用自定义URL重写器,所以我在登录后收到错误,因为返回URL是类似的

〜/富/ foo.aspx?labg = EN

我希望它能够硬编码

〜/富/富

任何帮助,将不胜感激

c# asp.net dotnetopenauth

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

Elasticsearch和.NET

我们正在考虑从Solr/Solr.net切换到Elasticsearch.我们从NEST开始.我们在搜索索引中只有4个文档.

private static void Main(string[] args)
{
    var node = new Uri("http://localhost:9200");
    var settings = new ConnectionSettings(
        node, "my-application");

    var client = new ElasticClient(settings);

    var stopwatch = Stopwatch.StartNew();
    var sr = client.Get<Movie>(1);

    Console.WriteLine(stopwatch.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)

上面的代码大约需要.250ms,而相同的代码HttpClientJsonSerializer30-45ms.只有4个文件,250毫秒是太多的时间.

NEST可以在高流量新闻网站上使用,还是推荐HttpClient+ JsonSerializercombo?搜索页面是2013年我们网站上访问量最大的页面.

提前致谢.

.net c# asp.net-mvc elasticsearch nest

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

如何从对象列表创建xml文件

我定义了3个类:

public class PublishedPage
{
    public string Action { get; private set; }
    public string PageGuid { get; set; }
    public List<string> SearchableProperties { get; set; }

    public PublishedPage()
    {
        Action = "Published";
        SearchableProperties = new List<string>();
    }
}

public class DeletedPage
{
    public string Action { get; private set; }
    public string PageGuid { get; set; }

    public DeletedPage()
    {
        Action = "Deleted";
    }
}

public class MovedPage
{
    public string Action { get; private set; }
    public string …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-serialization

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

ASP.NET WebForms - 如何在GridView中为标题行设置colspan?

我想为网格视图中的标题行设置colspan,使其与下图中的相同:

替代文字

Html代码是:

<html>
    <body>
        <table border="1">
        <tr>
            <th colspan=2>Header</th>
        </tr>
        <tr>
            <td>row 1, cell 1</td>
            <td>row 1, cell 2</td>
        </tr>
        <tr>
            <td>row 2, cell 1</td>
            <td>row 2, cell 2</td>
        </tr>
        </table>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我不知道如何在asp.net中创建相同的效果,我不想使用for循环手动创建表.

谢谢!

asp.net gridview webforms

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

ASP.NET MVC 3 - 自定义SEO友好路线

我已经定义了以下路线:

routes.MapRoute(
    null,
    "foo/{id}/{title}",
    new { controller = "Boo", action = "Details" }
);
Run Code Online (Sandbox Code Playgroud)

当我调用这个方法时:

Url.Action("Details", "Boo", new { id = article.Id, title = article.Title })
Run Code Online (Sandbox Code Playgroud)

我得到以下网址:
http://localhost:57553/foo/1/Some%20text%20Š

我想创建一个新的路由,它将小写所有字符并替换其中一些字符.

例如
http://localhost:57553/foo/1/some-text-s

规则:

Uppercase -> lowercase    
' ' -> '-'
'Š' -> 's'
etc.
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

routes asp.net-mvc-2

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

tsql - 删除最后一行

我想从表中删除满足某些条件的最后一行.

DELETE TOP 1 FROM SOME_TABLE
WHERE SOME_COULMN = @VALUE
ORDER BY 1 DESC
Run Code Online (Sandbox Code Playgroud)

t-sql

4
推荐指数
1
解决办法
4737
查看次数

ASP.NET MVC - Razor和JavaScript

如何将javascript放在if块内?

@if(TempData["notification-message"] != null) {
        $('#notification').jnotifyAddMessage({
            text: '@TempData["notification-message"]',
                permanent: false
                            });
}
Run Code Online (Sandbox Code Playgroud)

我到了bad compile constant value.

javascript razor

4
推荐指数
1
解决办法
1028
查看次数

ASP.NET MVC 4 FilePathResult和静态文件处理程序

我正在为一个B2B应用程序构建一个简单的CMS.用户可以上传/浏览图像,但这些图像存储在IIS外部(我的应用程序位于驱动器C上,图像存储在驱动器D上).

我的计划是为页面文件创建自定义路由,然后使用简单加载图像 FileController

FileController:

public FilePathResult PageFiles(string fileName)
{
    var dir = Server.MapPath("/some_protected_area/gallery");
    var path = Path.Combine(dir, fileName);
    return File(path, "image/jpg");
}
Run Code Online (Sandbox Code Playgroud)

自定义路线:

routes.MapRoute(
    null,
    "Files/PageFiles/{fileName}",
    new { controller = "File", action = "PageFiles", fileName = UrlParameter.Optional },
    new[] { "DemoApp.Web.Controllers" }
    );
Run Code Online (Sandbox Code Playgroud)

当我访问时,http://localhost:58891/Files/PageFiles/image-1.jpg我得到404.

详细错误信息:

Modeule: IIS Web Core
Notification: MapRequestHandler
Handler: StaticFile
Error code: 0x80070002
Run Code Online (Sandbox Code Playgroud)

当我访问:http://localhost:58891/Files/PageFiles?fileName=image-1.jpg一切正常,但我不想发送fileName查询字符串,并且fileName 必须包含扩展名(.jpg,.pdf等)

我能以某种方式禁用StaticFile自定义路由的处理程序吗

任何帮助将不胜感激!

c# iis-7.5 asp.net-mvc-4

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

c#的免费报告

我正在用c#编写桌面应用程序,我需要一些免费的报告系统.
有什么建议?

编辑:
我使用SQLite作为DB.

c# sqlite report

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

ASP.NET MVC和共享文件夹上的链接照片

我正在编写asp.net mvc Web应用程序,该应用程序使用大量的.jpg文件,这些文件位于Web服务器外部的共享文件夹中,无法通过http协议访问.
如何在img标签内放置图像路径?

asp.net-mvc

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

如何从访问掩码中读取访问权限?

用户可以拥有以下访问权限:

Read = 1
Create = 2
Edit = 4
Delete = 8
Publish = 16
Administer = 32
Run Code Online (Sandbox Code Playgroud)

当访问权限保存在数据库中时,只使用一个数字来表示该用户的所有访问权限.

例如

3 = Read + Create
25 = Read + Delete + Publish
Run Code Online (Sandbox Code Playgroud)

如何获取给定号码(访问掩码)的所有访问权限?

任何帮助将不胜感激!

c# algorithm

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