我正在编写一个LINQ to SQL语句,我正在使用ONC#中的子句进行普通内连接的标准语法.
如何在LINQ to SQL中表示以下内容:
select DealerContact.*
from Dealer
inner join DealerContact on Dealer.DealerID = DealerContact.DealerID
Run Code Online (Sandbox Code Playgroud) 当IDENTITY_INSERT设置为OFF 时,为什么我在插入时出错?
如何在SQL Server 2008中正确启用它?是使用SQL Server Management Studio吗?
我运行了这个查询:
SET IDENTITY_INSERT Database. dbo. Baskets ON
Run Code Online (Sandbox Code Playgroud)
然后我在控制台中收到消息,命令已成功完成.但是当我运行应用程序时,它仍然给出了如下所示的错误:
Cannot insert explicit value for identity column in table 'Baskets' when
IDENTITY_INSERT is set to OFF.
Run Code Online (Sandbox Code Playgroud) 我想知道以下内容:
我打算在我的(例如 - PHP)应用程序中使用它,但不想对数据库运行多个查询,我有什么选项可以从单个查询中的多个表中获取数据?
注意:我正在写这篇文章,因为我希望能够链接到我在PHP队列中经常遇到的众多问题的精心编写的指南,因此我可以在发布答案时链接到此以获取更多详细信息.
答案涵盖以下内容:
你会如何评价每一个:
我喜欢我的SQL,因此一直是ADO.NET和存储过程的忠实粉丝,但我最近玩过Linq to SQL,并且被写出我的DataAccess层的速度和决定花费的速度感到震惊有一段时间真正理解Linq to SQL或EF ......或者两者都没有?
我只是想检查一下,这些技术中没有一个很大的缺陷会让我的研究时间变得毫无用处.例如,性能非常糟糕,对于简单的应用程序来说它很酷,但只能带你到目前为止.
更新: 您可以专注于EF VS L2S VS SP而不是ORM VS SP.我主要对EF VS L2S感兴趣.但我很想将它们与存储过程进行比较,因为普通的SQl是我所了解的很多东西.
table1(id,name)
table2(id,name)
查询:
SELECT name
FROM table2
-- that are not in table1 already
Run Code Online (Sandbox Code Playgroud) 我需要将表的主键更改为标识列,并且表中已有许多行.
我有一个脚本来清理ID以确保它们从1开始顺序启动,在我的测试数据库上运行正常.
什么是将命令改为具有标识属性的SQL命令?
你能帮我用SQL语句来查找多个字段的重复项吗?
例如,在伪代码中:
select count(field1,field2,field3)
from table
where the combination of field1, field2, field3 occurs multiple times
Run Code Online (Sandbox Code Playgroud)
并且从上面的陈述中,如果有多次出现,我想选择除第一个以外的每个记录.
我经常使用"ON DELETE CASCADE",但我从不使用"ON UPDATE CASCADE",因为我不太确定在什么情况下它会有用.
为了便于讨论,请看一些代码.
CREATE TABLE parent (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
);
CREATE TABLE child (
id INT NOT NULL AUTO_INCREMENT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
对于"ON DELETE CASCADE",如果id删除了具有a的父级,parent_id = parent.id则将自动删除子级中的记录.这应该没问题.
这意味着当id更新父级时,"ON UPDATE CASCADE"会做同样的事情吗?
如果(1)为真,则意味着如果parent.id不可更新(或永远不会更新),则不需要使用"ON UPDATE CASCADE",就像它是AUTO_INCREMENT或者总是设置为TIMESTAMP.是对的吗?
如果(2)不成立,在其他什么情况下我们应该使用"ON UPDATE CASCADE"?
如果我(由于某种原因)更新了child.parent_id不存在的内容,它会被自动删除吗?
好吧,我知道,上面的一些问题可以通过程序测试来理解,但我也想知道这是否依赖于数据库供应商.
请说清楚.
What is an index in SQL? Can you explain or reference to understand clearly?
Where should I use an index?
sql ×10
sql-server ×3
linq-to-sql ×2
t-sql ×2
.net ×1
ado.net ×1
alter-table ×1
c# ×1
foreign-keys ×1
indexing ×1
join ×1
mysql ×1
select ×1