小编Mar*_*tin的帖子

仅在非空的情况下才在where子句中使用变量?一种动态where子句?

是否可以在where(LINQ)中包含一个子句,但前提是它的"NOT"为空?

  where c.Code == sCode && p.Code == code
Run Code Online (Sandbox Code Playgroud)

在这种情况下,变量(标准c#)被称为代码...如果它的非空,那么上面的地方很棒..但如果它是空的那么我不想在其中包含

  where c.Code == sCode
Run Code Online (Sandbox Code Playgroud)

在SQL中它的完成就像这样

       AND ( ( @code = '' )
                  OR ( @code <> ''
                       AND C.Code = @code
                     )
Run Code Online (Sandbox Code Playgroud)

linq dynamic where-clause

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

VS 2010可扩展性:创建扩展以自动将所选文本(代码)包装在注释中并在其上方添加注释

我正在尝试开发一个类似于VS 2010中的"注释"工具栏按钮的扩展,但我想将所有文本标记为已注释,并在其上方添加注释.

这是一个例子.我知道这很简单,但它更容易.我的想法是有一些额外的工具栏按钮来标记不再使用的代码,标记有错误的代码......以及类似的东西......这可以在任务窗口中选取,因为它以TODO开头:

        // TODO MARTIN CODE NO LONGER USED
        /*if (myItem)
        {
            txtTest.Enabled = false;
            txtTest1.Value = 0;
            btnOk.Enabled = false;
        }*/
Run Code Online (Sandbox Code Playgroud)

我认为我需要使用:

       DTE.ActiveDocument
Run Code Online (Sandbox Code Playgroud)

和:

       (((TextDocument)myDoc).Selection.Text).
Run Code Online (Sandbox Code Playgroud)

然后再次写出代码,我需要做什么?

vsx extensibility visual-studio-addins

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

c#:命名空间优先级/优先级?有2个同名的课程

我有2个类,两个被称为相同的"产品",1个类是我的,另一个属于其他人.

我在代码中遇到编译错误,因为看起来有些代码试图使用"我的"类而不是"他们"的产品.

我通过在使用该类的行上添加名称空间来临时修复此问题.

我有他们班级的"使用".

那么解决这个问题的方法是什么,留下我的前缀或重命名命名空间......应该先来?

我想这给了我另一个问题......如果我解决这个问题并且我需要引用我的类,那么我将需要前缀.

任何建议解决这个问题的最佳方法都会非常有帮助.

c# conflict namespaces

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

EntLib5:Loggin应用程序块未记录到事件日志(例外:无法构造类型LogWriter) - 任何人都可以帮忙吗?

嗨,您好,

我只是设置了Enterprise Library 5的日志记录应用程序块部分.我认为我已经完成了它,但它没有记录到事件日志,它在write方法上出错并给我以下异常.

    The type LogWriter cannot be constructed. 
         You must configure the container to supply this value.
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一张支票或告诉我我错过了什么..

首先,我使用winforms应用程序在Windows 7中运行.

这是我创建日志的方法,您可以看到write方法.

public class Logger : ILogger
{
    public void SendTest(string test)
    {
        LogEntry log = new LogEntry();
        log.EventId = 300;
        log.Message = test;
        log.Categories.Add("testing");
        log.Severity = TraceEventType.Information;
        log.Priority = 5;
        Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(log);

    }
}
Run Code Online (Sandbox Code Playgroud)

我的所有配置都是使用entlib5编辑器而不是手工编写的.并确认这是entlib.config所在的路径

    filePath="C:\myapp\entlib.config" />
Run Code Online (Sandbox Code Playgroud)

这是我的app.config,它指向我的entlib.config

<?xml version="1.0"?>
<configuration>
<configSections>
    <section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<enterpriseLibrary.ConfigurationSource selectedSource="System Configuration Source">
    <sources>
        <add name="System …
Run Code Online (Sandbox Code Playgroud)

.net logging enterprise-library application-blocks logging-application-block

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

按多个表分组仍然可以访问原始查询?

我正在尝试进行连接,然后进行分组,我返回的分组信息很棒!就像一个魅力,但我仍然需要访问分组以外的值,如果这是有道理的..

我在stackoverflow上找到了一个例子,这可能更好地解释了它

var query = from c in context.Contacts
            join o in context.Orders on c.Id equals o.CustomerId
            select new 
            { 
                Contact = c, 
                Order = o 
            } into ContactAndOrder
            group ContactAndOrder by ContactAndOrder.Order.Id into g
            select new 
            { 
                g.Key, 
                ContactWhatever = g.Sum(co => co.Contact.Whatever), 
                OrderWhatever = g.Sum(co => co.Order.Whatever) 
            };
Run Code Online (Sandbox Code Playgroud)

现在这似乎工作得很好,问题是在我的情况下co.Order.Whatever是一个字符串所以我得到一个错误说不能将字符串转换为int,这我理解为聚合函数Sum期望一个int ....

我的问题是,是否有一个聚合函数或类似的东西我可以得到co.Order.Whatever的值(在我的情况下是一个字符串)

问题在于,一旦完成了小组,我就失去了"c"和"o"

我希望有人能帮帮忙.

提前致谢

c# sql linq linq-to-entities group-by

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

Asp.net MVC/Web Api路由:需要路由一点不同

我使用路由设置了一个asp.net web api项目(它与Mvc项目完全相同) - 因此我有以下内容

routes.MapHttpRoute(
    name: "API Default",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

所以一切都按照我想要的方式工作....我输入api/Products/15它到达我的产品控制器,传入15作为id.

大.

我还有2个控制器,1个叫做UploadsController,1个叫做DownloadController.这些提供上传和下载(GET/PUT等)

现在我不希望他们被原规则接受(见上文)

但我想要的是使用这两个网址来访问它们

/ api/Transport/Uploads/15/api/Transport/Downloads/15

我已经通过了15作为身份证,可能不会发生在现实生活中...只是它有利于示范:-)

现在运输不存在所以我可以做以下事情

routes.MapHttpRoute(
    name: "API Default",
    routeTemplate: "api/Transports/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

我认为有效...

但问题是,如果我这样做

/ api/Uploads/15 - 这也会被我不想要的原始规则所捕获..

我希望通过虚假的"传输"访问上传和DOwnloads控制器,而不是没有传输

有人可以帮忙吗?

提前致谢

asp.net-mvc asp.net-routing asp.net-mvc-routing asp.net-web-api

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

ASP.NET MVC:如何强制所有链接转到1页?

我试图找出如何创建路由配置,以便所有URL都将转到相同的VIEW(页面).

当然,如果我这样做的话

/产品/编号

然后,这将在Products控制器中查找.

无论URL是什么,我都想总是转到我的MainController和相同的动作

这可能吗?

提前致谢

asp.net-mvc asp.net-routing asp.net-mvc-3

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

AngularJS - 使用RequireJS或内置的模块化开发?

我一直在写一个angularjs应用程序,我有一些控制器,我已经放在1 JS文件中.我希望有一些更模块化的东西,并将我的控制器分成自己的文件.

我想到了RequireJS,但这是推荐的方式吗?或者angularjs是否提供了其他内容以及任何解释位置的线索?

也有所有这些文件进行调试是伟大的,但一旦生产建设需要确实angularJS提供某种合并的模块为1个文件,结果最小化?

如果有人能解释最好的方法,那将是非常有帮助的.

谢谢

amd requirejs angularjs

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

Autofixture + NSubstitute:冻结模拟?

我试图访问注入构造函数的模拟(通过Nsubstitute)类.

我使用以下代码

var fixture = new Fixture()
    .Customize(new AutoNSubstituteCustomization());

var sut = fixture.Create<MyService>();
Run Code Online (Sandbox Code Playgroud)

sut是成功创建的,并且在"MyService"的构造函数上注入了一个名为"IFileUtils"的接口的模拟版本.

但我需要访问它,所以阅读后我相信我需要冻结对象,所以我可以这样访问它

var fileUtilMock= fixture.Freeze<Mock<IFileUtils>>();
Run Code Online (Sandbox Code Playgroud)

但是我认为这段代码是Moq语法,因为"Mock"无法找到.

通常要创建一个类的Nsubstitute,您可以执行以下操作

var fileUtilMock= Substitute.For<IFileUtils>();
Run Code Online (Sandbox Code Playgroud)

但当然这并没有冻结,所以它没有被使用并注入构造函数中.

有人可以帮忙吗?

c# mocking autofixture nsubstitute

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

AngularJS(Restangular):做出承诺阻止?需要使用它来验证令牌

我偶然发现了Restangular来拨打休息服务.它运作良好,并返回一个承诺.我需要能够拥有调用块.原因是新页面重新加载我在技术上没有登录,但我可能有一个存储在cookie中的令牌.我想针对休息服务验证此令牌.问题是我需要阻止它.

如果发生超时或者它无效,我可以将用户视为未经过身份验证.

这是想要阻止的原因是我想使用$ location.path将它们重定向到新的URL而不是有效的令牌.

这不会发生在特定路由上,因此我无法使用阻塞的解析.它在技术上发生在每条路线上 - 我使用$ on.$ routeChangeStart并检查内部变量是否得到LoggedIn,如果没有登录,我检查存储的令牌.

这在每次页面刷新时发生,但在应用程序内导航时不会发生.

我想要获得的影响是Gmail的工作原理.

期待任何人对此有任何见解

谢谢

angularjs angularjs-routing restangular

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