小编C.J*_*.J.的帖子

Include()在LINQ中做了什么?

我尝试做了很多研究,但我更像是一个数据库人 - 所以即使MSDN中的解释对我也没有任何意义.任何人都可以解释一下,并提供一些关于查询Include()术语中的声明的例子SQL吗?

sql linq

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

自我加入多对多的关系

根据以下样本数据,假设Julie(1)有朋友Adam,David,John(2,3,4).亚当(2)有朋友朱莉,大卫,约翰(1,3,4).

ID  Name
1   Julie
2   Adam
3   David
4   John
5   Sam
Run Code Online (Sandbox Code Playgroud)

这使得一个表中的自连接和多对多关系成为可能.

除了上述问题之外,Julie(1)还说Sam(5)是朋友,从技术上和实际上讲,Sam(5)现在也是Julie(1)的朋友.这使得事情变得更加复杂,因为这种关系是双向的.

所以我想知道:

  1. 我该如何设计数据库?
  2. 如何进行将返回每个用户的所有朋友的查询?

谢谢!

sql sql-server

11
推荐指数
3
解决办法
6898
查看次数

lambda参数如何在TakeWhile中映射?

我正在使用MSDN页面中101 LINQ Samples学习LINQ ,我遇到了这段代码:

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

var firstSmallNumbers = numbers.TakeWhile((n, index) => n >= index);

foreach (var n in firstSmallNumbers)
{
    Console.WriteLine(n);
}
Run Code Online (Sandbox Code Playgroud)

这个函数的目的是"使用TakeWhile返回从数组开头开始的元素,直到命中的数字小于它在数组中的位置."

究竟是怎么nindex知道哪些参数取?(即n知道它将如何知道5, 4, 1, 3, 9, 8, 6, 7, 2, 0以及如何index知道它会增加0,1,2,3 ......)?

c# linq lambda

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

N是什么意思?

我看过很多SP,例如:

SET @SQLString = N'SELECT @max_titleOUT = max(JobTitle) 
                 FROM AdventureWorks2012.HumanResources.Employee
                 WHERE BusinessEntityID = @level';
Run Code Online (Sandbox Code Playgroud)

N到底是什么意思?

sql-server stored-procedures

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

将重复的char替换为字符串中的其他内容

我需要帮助来找出一个逻辑:

所以,假设我有一个字符串,每当内部重复出现Char时string,我需要用(Char+ sequence of number)替换它.

例如:

原始字符串: "abcdefgabfabc"

预期产量: "abcdefga2b2f2a3b3c2"

'a'出现3次,所以第一个'a'保持为'a',但第二个'a'变为'a2',第三'a'变为'a3',同样的变为'b'等其他字符, b2,b3 ......

c#

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

脚本,存储过程,T-SQL,PL/SQL之间的区别

我对这些术语感到非常困惑.我曾经参加过一个名为PL/SQL的课程,然后当我出来工作时,我遇到了其他术语,如存储过程,T-SQL甚至脚本.它们看起来与我非常相似,但它们之间究竟有什么不同?(如果有的话)

sql stored-procedures

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

数据库约束与应用程序级别验证

在研究该主题时,我遇到了这篇文章:您是否应该在数据库级别以及应用程序级别强制执行约束?

回答问题的人声称,我们应该强制执行数据库约束,因为它“更轻松,更完整,更灵活”。

我提出这个问题的原因是因为我最近在一个非常强大的系统中进行了维护工作。由于业务规则的更改,以前具有的数据列之一CHAR(5)现在可以接受8个字符。该表具有许多依赖性,并且不仅会影响数据库中的许多其他表,而且还会影响其他一些系统,因此CHAR(8)实际上将大小增加到不可能。

因此,我的问题回到数据库设计上,如果您减少甚至消除数据库约束的需求,难道不是那么容易吗?如果发生上述情况,您要做的就是更改前端或应用程序级别的验证,以确保用户为该字段输入8个字符。

我认为,我们应该最小化数据库的约束,以预期将来数据结构的任何变化。你在想什么

database database-design

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

基于最后N个分隔符分割字符串

我需要帮助来开发一个逻辑来分割字符串,但只是基于字符串的最后2个分隔符.

示例输入:

string s1 = "Dog \ Cat \ Bird \ Cow";

string s2 = "Hello \ World \ How \ Are \ You";

string s3 = "I \ am \ Peter";
Run Code Online (Sandbox Code Playgroud)

预期产出:

string[] newS1 = "Dog Cat", "Bird", "Cow"
string[] newS2 = "Hello World How", "Are", "You"
string[] newS3 = "I", "am", "Peter"
Run Code Online (Sandbox Code Playgroud)

所以,正如你所看到的,我只希望将字符串拆分为最后2个"\",而最后2个"\"之前的所有其他内容将被连接成一个字符串.

我尝试了.Split方法,但它只是将字符串中的每个"\"分开.

编辑:如果字符串少于2"\",它将根据它具有的任何内容进行分割

更新:哇,这些都是一堆有趣的解决方案!非常感谢!

c#

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

查找下一个最近的日期

我有一些日期当前存储为字符串列表.

例如:

List<string> dates = new List<string>();
dates.Add("1/10/14");
dates.Add("2/9/14");
dates.Add("1/15/14");
dates.Add("2/3/14");
dates.Add("2/15/14");
Run Code Online (Sandbox Code Playgroud)

(日期mm/dd/yy格式)

我将采用用户的输入(也是mm/dd/yy格式),但作为字符串.

现在,我想在数组中找到用户输入日期后最接近的日期.

例如,如果用户输入"1/13/14",则输出应为"1/15/14".如果用户输入"2/5/14",则下一个最近的日期是"2/9/14".但是,如果用户输入的日期晚于最后一个日期(例如"3/1/14",它将STILL返回数组中的最后一个日期"2/15/14")

我知道在某些时候你必须转换为类型DateTime,但我无法弄清楚找到这样的日期的逻辑.

c# datetime datetime-format

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

在数组中排序与在SQL中排序

我有大约1000行数据.在ASPX页面上,每当用户点击排序按钮时,它基本上会根据特定列对结果进行排序.

我建议在SQL查询中对结果进行排序,只需一个Order by子句就可以轻松得多.

但是,我的经理坚持要将结果存储在a中array,然后对数据进行排序,array因为他认为每次用户单击排序按钮时都会影响调用数据库的性能.

只是出于好奇 - 它真的重要吗?

另外,如果我们忽略行数,性能明智,哪些方法实际上更有效?

c# sql sql-server

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