小编Sco*_*iAS的帖子

OrderBy的正确行为

我遇到了令我困惑的事情,我希望看到你对此事的看法.事实证明,linq对sql和实体框架的威胁是连续的顺序.

以下代码仅用于示例,我并未声称它有任何意义:

Linq to sql:

DataClasses1DataContext db = new DataClasses1DataContext();
        var result = (from c in db.Products
                      orderby c.ProductName
                      orderby c.UnitPrice
                      orderby c.UnitsOnOrder
                      select c).ToList();
Run Code Online (Sandbox Code Playgroud)

它在服务器端产生的是什么:

SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].[CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].[Discontinued]
FROM [dbo].[Products] AS [t0]
ORDER BY [t0].[UnitsOnOrder], [t0].[UnitPrice], [t0].[ProductName]
Run Code Online (Sandbox Code Playgroud)

使用Entity Framework进行的相同测试会生成以下内容:

    SELECT 
[Extent1].[ProductID] AS [ProductID], 
[Extent1].[ProductName] AS [ProductName], 
[Extent1].[SupplierID] AS [SupplierID], 
[Extent1].[CategoryID] AS [CategoryID], 
[Extent1].[QuantityPerUnit] AS [QuantityPerUnit], 
[Extent1].[UnitPrice] AS [UnitPrice], 
[Extent1].[UnitsInStock] AS [UnitsInStock], 
[Extent1].[UnitsOnOrder] AS [UnitsOnOrder], 
[Extent1].[ReorderLevel] AS [ReorderLevel], 
[Extent1].[Discontinued] AS [Discontinued]
FROM …
Run Code Online (Sandbox Code Playgroud)

.net c# linq entity-framework linq-to-sql

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

如何更改 SQL Server 中列的默认值

据说我有一个名为 Person 的表,定义如下:

CREATE TABLE Persons
(
    P_Id uniqueidentifier Default newsequentialid() NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255) DEFAULT 'Sandnes'
)
Run Code Online (Sandbox Code Playgroud)

如何使用 sql 查询删除该列的默认值?此外,如果一开始不存在,我该如何添加它。我知道可以通过更改表并在 P_Id 列上添加约束来添加它,但我不确定这是否是唯一的方法。我遇到了这篇文章,但是那里建议的内容似乎并没有真正起作用。

有任何想法吗?

sql database sql-server-2008

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