小编The*_*ght的帖子

如何以及何时翻译和评估LINQ查询?

我有一个LINQ to SQL Query如下:

var carIds = from car in _db.Cars
           where car.Color == 'Blue'
           select car.Id;
Run Code Online (Sandbox Code Playgroud)

以上将最终翻译成下面的sql:

select Id from Cars 
where Color = 'Blue'
Run Code Online (Sandbox Code Playgroud)

我读过这些阶段是:

  1. LINQ to Lambda Expression
  2. Lambda表达式到表达式树
  3. 表达式树到SQL语句
  4. SQL语句被执行

所以,我的问题是何时以及如何翻译和执行?

我知道第4阶段发生在运行时,我的"carIds"变量在foreach循环中被访问.

foreach(var carId in carIds) // here?
{
  Console.Writeline(carId) // or here?
}
Run Code Online (Sandbox Code Playgroud)

其他阶段呢?他们什么时候发生?在编译时或运行时?在哪一行(定义上或定义之后,访问时或访问之前)?

c# sql linq asp.net lambda

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

如何在Windows服务启动时运行任务?

我有一个Windows服务,我已经编写了代码来在OnStart()事件中运行任务:

 protected override void OnStart(string[] args)
        {
            this.DoTask();
        }

private void DoTask()
        {
            Task task1 = Task.Factory.StartNew(() => this.OriginalFileProcessor.StartPolling());

            try
            {
                Task.Wait(task1);
            }
            catch (Exception ex)
            {
                this.Log.Error("Failed running the task", ex);
            }           
        }
Run Code Online (Sandbox Code Playgroud)

DoTask是一个永无止境的循环.它仅在服务停止时停止.

但是当我尝试启动服务时,它会等待很长时间然后给我以下错误:

Windows could not start the ... service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.
Run Code Online (Sandbox Code Playgroud)

怎么解决?

.net c# windows-services installutil onstart

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

ORA-01440:要修改的列必须为空才能降低精度或比例

我有一个名为Products的Oracle表.它有一个ID类型的列NUMBER.

我想改变它的类型,Number(20, 0)但它给了我这个错误:

ORA-01440: column to be modified must be empty to decrease precision or scale
Run Code Online (Sandbox Code Playgroud)

所以我用过这个脚本:

alter table Products add ID_TEMP NUMBER(20,0);

update Products set ID_TEMP = ID;

update Products set ID = NULL;

alter table Products modify ID NUMBER(20,0);

update Products set ID = ID_TEMP;

alter table Products drop column ID_TEMP;
Run Code Online (Sandbox Code Playgroud)

但它抱怨说

cannot update ID to NULL
Run Code Online (Sandbox Code Playgroud)

这是合理的,因为它是一个不可为空的主键.

如何将其数据类型更改NumberNumber(20, 0)

oracle

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

如何从SharePoint 2010中的数据库中找到SharePoint列表的字段?

在SharePoint 2003和2007中,有一个名为AllLists的表,其中有一个名为tp_Fields的列,其中包含一个包含特定列表的所有字段的xml.

存储在tp_Fields列中的xml示例对于包含3个字段的SharePoint列表是这样的:

<FieldRef Name="ContentTypeId" />
<FieldRef Name="_ModerationComments" ColName="ntext1" />
<FieldRef Name="WebPartTypeName" ColName="nvarchar9" />
Run Code Online (Sandbox Code Playgroud)

我们有一个应用程序正在使用C#代码从该列读取,例如

var tpFields = (String) drView["tp_Fields"];
Run Code Online (Sandbox Code Playgroud)

在SharePoint 2010中,此列的数据类型已更改为varbinary,而是仅包含一些二进制数据!

(我知道理想/推荐的解决方案是使用SharePoint Web服务或SharePoint对象模型而不依赖于基础表,但不幸的是我们有一个现有的应用程序,我们也需要使它与2010一起工作.我希望我们不必重新设计一切!)

我如何知道SharePoint列表中SharePoint数据库中的哪些字段?或者如果可能的话,如何将此varbinary列转换为与之前相同的xml?

我希望这个问题很明确(对它的可能性没什么希望).

谢谢,

xml sharepoint field sharepoint-2010 sharepoint-list

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

String类型如何传递给方法或分配给C#中的变量?

使用==和!=运算符时,String对象的行为类似于Value类型,这意味着检查实际对象而不是引用.

参数传递,分配和复制怎么样?

字符串参数传递: 将引用类型传递给方法时,将复制其引用,但基础对象保持不变.

关于C#中的String类型也是如此吗?我的意思是有2个指针(messageVar和messageParam)指向下面代码中的同一个对象:

public static void main()
{
   string messageVar = "C#";
   Test(messageVar);

   // what about in assignement?
   string messageVar2 = messageVar;
}
public void Test(string messageParam)
{
// logic
}
Run Code Online (Sandbox Code Playgroud)

什么时候分配给变量?我猜,只能复制引用,并且实际对象在String Intern Pool中保持相同的状态.不确定.

messageVar2也会引用同一个对象吗?

谢谢,

c# string operators parameter-passing variable-assignment

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

如何配置TeamCity以同时运行测试而不是逐个运行?

我有一些使用NUnit,C#和Seleium编写的UI /系统测试,我正在使用TeamCity自动运行这些测试,例如每天一次.

问题是每个测试需要1-10分钟才能完成,而TeamCity会按顺序运行它们,因此需要很长时间才能完成所有测试.

(请不要担心或评论为什么测试需要这么长时间,因为它们是系统测试并为多个站点的多个用户运行)

测试是独立的,并且不依赖于彼此,因此它们可以同时运行.

如何将TeamCity配置为同时运行测试而不是逐个运行?

c# teamcity selenium nunit unit-testing

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

如何同时使用2个FireFoxDrivers?Selenium是否支持多线程?

如何同时使用2个FireFoxDrivers?Selenium是否支持多线程?

我有以下测试打开2个firefox浏览器,但两个导航只发生在第一个浏览器实例上!

  [Test]
    public void TestMultithreading()
    {
        var tasks = new List<Task>
                        {
                            new Task(goToBbc),
                            new Task(goToGoogle)
                        };

        tasks.ForEach(task => task.Start());

        Task.WaitAll(tasks.ToArray());
    }

    private void goToBbc()
    {
        openBrowserAndGoTo("http://www.bbc.com");
    }

    private void goToGoogle()
    {
        openBrowserAndGoTo("http://www.google.com");
    }

    private void openBrowserAndGoTo(string url)
    {
        var webDriver = new FirefoxDriver();
        webDriver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 1, 0));
        webDriver.Navigate().GoToUrl(url);
        Thread.Sleep(5000);
        webDriver.Quit();
    }
Run Code Online (Sandbox Code Playgroud)

希望问题很清楚.

谢谢,

testing selenium multithreading webdriver

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

如何在IE中找出页面下载时间/大小?

是否有用于IE的免费工具,以便我可以知道页面的下载时间和下载大小?

我正在使用IE Web Developer工具,但没有显示下载时间/大小。

对于FireFox,有一个名为Lori插件可以执行此操作。

html firefox internet-explorer add-on page-size

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

如何在子查询中使用FOR XML?

我想返回下面的xml:

<ResultDetails>
<Node1>hello</Node1>
<Sites>
<Site><SiteId>1</SiteId></Site>
<Site><SiteId>2</SiteId></Site>
</Sites>
</ResultDetails>
Run Code Online (Sandbox Code Playgroud)

我写了下面的代码,但不起作用:

SELECT 'hello' AS Node1,    
    (SELECT TOP 2 SiteId
     FROM [dbo].[Sites]
       FOR XML PATH('Site')) AS Sites
FOR XML PATH('ResultDetails')
Run Code Online (Sandbox Code Playgroud)

但它返回:

<ResultDetails>
  <row>
    <Node1>hello</Node1>
    <Sites>&lt;Site&gt;&lt;siteId&gt;102&lt;/siteId&gt;&lt;/Site&gt;&lt;Site&gt;&lt;siteId&gt;1&lt;/siteId&gt;&lt;/Site&gt;</Sites>
  </row>
</ResultDetails>
Run Code Online (Sandbox Code Playgroud)

我应该写什么SQL?

谢谢,

xml sql sql-server for-xml

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

如何对ASP.NET MVC视图进行Web测试?

在ASP.NET WebForms中,我使用Selenium在许多项目中记录和运行我的Web和UI测试.

我知道我们可以非常轻松地在ASP.NET MVC中单元测试控制器和模型.

视图怎么样?

你还会测试视图吗?如果不是如何确保由Controller Actions呈现的视图包含预期的逻辑和行为?

我猜想在WebForms中使用的Web测试工具,例如WatiN和Selenium,也可以在这里使用,不确定吗?

如果是这样,WebForms中的WebTesting和MVC中的WebTesting之间会有什么区别?

c# testing asp.net-mvc web-testing

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