小编shA*_*A.t的帖子

DDD:连接对象是实体对象还是值对象?

我正在开发一个应用程序,用户可以以类似于Twitter的方式互相关注.

在阅读DDD之后,我了解到我的用户是实体对象 - 我使用他们的唯一ID来引用它们.

当一个用户"跟随"另一个用户(即形成连接)时,该关系存储在多对多表中.它的领域包括FollowerID,TargetID,和Status.每个Follower/Target组合只能有两个记录(一个是Active,另一个是Inactive),所以我可以根据它们的属性安全地识别对象.

所以,我认为我的Connection对象是Value Objects,而不是Entity Objects,但我不确定.你能帮我解决这个问题吗?

domain-driven-design

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

如何通过[WebMethod]返回数据表

我有一个网络服务,应该返回收件箱中的前5个电子邮件,并将它们显示在数据网格中.我把我的数据放到了DataTable第一个.但不断收到错误

这是我的代码,我错过了什么或者说错了吗?

[WebMethod]
    public DataTable DisplayMailList(String inMailServer, String inPort, bool inSSlCheck, String inUsername, String inPassword)
    {   
        objClient.Connect(inMailServer, int.Parse(inPort), inSSlCheck);
        objClient.Authenticate(inUsername, inPassword);

        int count = objClient.GetMessageCount();

        DataTable dtMessages = new DataTable(); // Creating datatable.
        dtMessages.Columns.Add("MessageNumber");
        dtMessages.Columns.Add("From");
        dtMessages.Columns.Add("Subject");
        dtMessages.Columns.Add("DateSent");
        dtMessages.TableName = "dtMessages";

        int counter = 0;
        for (int i = count; i >= 1; i--)
        {
            OpenPop.Mime.Message msg = objClient.GetMessage(i);

            dtMessages.Rows.Add();
            dtMessages.Rows[dtMessages.Rows.Count - 1]["MessageNumber"] = i; //Populateing Datatable
            dtMessages.Rows[dtMessages.Rows.Count - 1]["Subject"] = msg.Headers.Subject;
            dtMessages.Rows[dtMessages.Rows.Count - 1]["DateSent"] = msg.Headers.DateSent;

            counter++;
            if …
Run Code Online (Sandbox Code Playgroud)

c# datatable web-services

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

IIS服务器上的内存不足会导致SQL超时(SQL Server在单独的框中)吗?

我有一个IIS Web服务器,托管400个Web应用程序(分布在30个应用程序池中).它们都是ASP.NET应用程序和WCF服务端点.服务器有32GB的RAM,通常运行速度很快; 虽然它的内存使用率为95%.工作进程每个需要500MB到1.5GB的RAM.

我还有另一个运行SQL Server的盒子.那个人有充足的自由记忆.

有时,Web Server会开始抛出SQL Timeout异常.一开始每分钟几分钟,迅速增加到每分钟几百分钟; 有效地降低了服务器.此问题会影响所有池中的应用程序.有些请求仍然完成,但大部分请求都没有.发生这种情况时,服务器上的CPU使用率约为30%(这是该盒子上的正常负载).

在发生这种情况时,我们仍然可以使用SQL Server Management Studio(来自IIS服务器)成功(快速)执行请求.

解决方法是重新启动IIS.然后一切都恢复正常,直到下一次.

因为服务器运行时内存非常低,所以我觉得这是原因.但我无法解释低内存和SQL超时异常的突发爆发之间的关系.

任何的想法?

.net sql-server asp.net iis ado.net

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

获取我的Web应用程序的基本URL

是否可以通过使用获取IIS 7的基本URL Microsoft.Web.Administration.ServerManager

通常这将是:

http://localhost
Run Code Online (Sandbox Code Playgroud)

但我需要以编程方式获得它.

如果我不能使用ServerManager什么是最好的选择?

c# iis-7

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

如何将巨大的虚拟数据插入Sql server

目前开发团队已完成其应用程序,并且作为测试人员需要在20个表中插入1000000条记录,以进行性能测试.

我经历了表格,实际上所有表格之间存在关系.

要将那么多虚拟数据插入到表中,我需要在很短的时间内完全理解应用程序,这样我此时也没有虚拟数据.

SQL server没有任何方式插入这么多的数据插入可能性.

请分享方法.

  1. 目前我正在计划在excel中创建虚拟数据的可能性,但在这里我不确定表之间的关系.
  2. 在Google中发现,SQL事件探查器将提供执行顺序,但等待访问权限进行分析.
  3. 我在Google中发现的另一件事是可以使用红门工具.

是否有任何脚本或任何其他解决方案以简单的方式执行此任务.

如果这是一个常见问题,我很抱歉,我是第一次在SQL实时场景中工作.但我对SQL有所了解.

c# sql-server dummy-data

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

如何不小心删除表中的所有行

有人想要解释一下这个问题的机制...这个查询解析器的小怪癖几乎对我造成了重大损害.

创建一个包含100行的测试表,其中包含1-100.

create table test( JobID int primary key);

;with numbers as (
    select 1 as n
    union all
    select n + 1 as n 
    from numbers
    where n < 100
)
insert into test
select n from numbers
Run Code Online (Sandbox Code Playgroud)

创建一个包含整数1-50的临时表:

select jobid as number into #deletions
from test 
where jobid <= 50
Run Code Online (Sandbox Code Playgroud)

现在使用IN子句进行删除,但内部查询中的列名错误:

delete from test where JobID in (select JobID from #deletions)
Run Code Online (Sandbox Code Playgroud)

从外观上看,最后一个删除语句给出了删除50行的外观......但是,没有JobID输入#deletions,所以它从外部查询中拉出来并最终以某种方式删除测试中的所有行.

我的问题是,它究竟是如何解释内部查询... #deletions只有50行,那么如何从外表中提取所有100个id?这种类型的错字/错误几乎对我今天造成了重大损害.

在我看来,这应该抛出某种解析/语法错误或某种歧义错误.

这是一个 SQL Fiddle Demo

sql sql-server

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

基于SQL中的下一个和上一个记录进行排序

我试图通过考虑下一个和以前的记录来订购特定的查询,但我似乎无法完成它.我想通过数字和字母来订购,但是,例如,如果数字1的最后一个字母等于数字2中的一个字母,我想更改顺序,以便该字母与以下字母匹配记录.

Create script and SQL fiddle demo

create table Parent (
id [bigint] IDENTITY(1,1), 
number bigint NOT NULL,
PRIMARY KEY (id)
)
GO

create table Child (
id [bigint] IDENTITY(1,1), 
parentId BIGINT, 
letter VARCHAR(1) NOT NULL,
PRIMARY KEY (id),
UNIQUE (parentId, Letter),
FOREIGN KEY (parentId) REFERENCES Parent(id)
)
GO

INSERT Parent (number) VALUES (1)
INSERT Parent (number) VALUES (2)
INSERT Parent (number) VALUES (3)

INSERT Child (parentId, letter) VALUES (1, 'A')
INSERT Child (parentId, letter) VALUES (1, 'C')
INSERT Child …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005

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

Excel 自动过滤除变量值以外的所有值

所以我需要过滤一行中的所有值,除了一个。我让它工作,使用这部分代码,这显然会过滤一切,但“比利时”,但我需要有变量。

Dim myValue As Variant
myValue = InputBox("Which country to exclude? ")

Range("AB1").Select
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:="<>Belgium"
Run Code Online (Sandbox Code Playgroud)

对于我在特定国家/地区进行过滤的过滤器版本,该变量工作正常:

Dim myValue As Variant
myValue = InputBox("Which country to filter on: ")

Range("AB1").Select
ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= _
    myValue
ActiveWindow.SmallScroll Down:=-30
Run Code Online (Sandbox Code Playgroud)

那么为什么这不起作用:

ActiveSheet.Range("$B$1:$BY$319696").AutoFilter Field:=27, Criteria1:= <>myValue
Run Code Online (Sandbox Code Playgroud)

另外我不知道为什么它是这样结构的,它是从 Record Macro 生成的,尤其是 _ Criteria1:= _ myValue

excel vba autofilter

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

Excel VBA添加形状的超链接以链接到另一个工作表

我有一个宏,可以在工作簿的前面创建摘要表.在工作簿中的工作表之后创建并标记形状,然后将超链接添加到形状以重定向到这些工作表,但是,当我记录宏来执行此操作时,生成的代码为:

ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:=""
Run Code Online (Sandbox Code Playgroud)

在记录宏工作时手动在excel中创建的超链接工作得很好,当将鼠标悬停在它们上面时,显示文件路径和" - Sheet!A1",但它们似乎实际上并未将链接位置添加到地址部分宏.有没有人知道应该在该地址部分链接到工作表的代码?

excel vba hyperlink excel-vba

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

我可以将带有一行和一列的子查询视为标量吗?

假设我有以下SQL(如果您愿意,可以针对数据资源管理器运行):

SELECT COUNT(Id) AS "Count" 
  INTO #temp 
  FROM Posts

PRINT (SELECT * FROM #temp)
Run Code Online (Sandbox Code Playgroud)

这会产生错误:

"在此上下文中不允许使用子查询.只允许使用标量表达式."

现在,在这种情况下,我知道这#temp是一行和一列的表,因此(SELECT * FROM #temp)只产生一个值.有没有办法说服SQL Server将其视为标量?

我知道我可以将它保存到变量然后PRINT改为:

DECLARE @count int = (SELECT * FROM #temp)
PRINT @count
Run Code Online (Sandbox Code Playgroud)

但这似乎是一个不必要的额外步骤.

sql sql-server

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