Bir masam var:
CREATE TABLE [dbo].[Realty](
[Id] [int] IDENTITY(1,1) NOT NULL,
[RankingBonus] [int] NOT NULL,
[Ranking] AS ([Id]+[RankingBonus]) PERSISTED NOT NULL
....
)
Ve bir görüş:
CREATE View [dbo].[FilteredRealty] AS
SELECT
realty.Id as realtyId,
...
COALESCE(realty.Wgs84X, ruian_cobce.Wgs84X, ruian_obec.Wgs84X) as Wgs84X,
COALESCE(realty.Wgs84Y, ruian_cobce.Wgs84Y, ruian_obec.Wgs84Y) as Wgs84Y,
realty.Ranking,
...
FROM realty
JOIN Category ON realty.CategoryId = Category.Id
LEFT JOIN ruian_cobce ON realty.cobceId = ruian_cobce.cobce_kod
LEFT JOIN ruian_obec ON realty.obecId = ruian_obec.obec_kod
LEFT JOIN okres ON realty.okresId = okres.okres_kod
LEFT JOIN ExternFile ON realty.Id = ExternFile.ForeignId AND ExternFile.IsMain = 1
AND ExternFile.ForeignTable = 5
INNER JOIN Person ON realty.OwnerId = Person.Id
WHERE Person.ConfirmStatus = 1
C # (LinqToSQL) içinde FilteredRealty görünümü ile bir dbml modeli var. [Sıralaması] alan null bir int olarak ve ben veritabanında herhangi bir değişiklik olduğunda oluşturulan kodun her zaman tipini düzeltmek zorunda tanınır. Bu benim için çok sinir bozucu ve bir sürü el işi.
FilteredRealty'de ( bu ilgili soru ile ilgili ) kullanılan hiçbir agrega yoktur .
Realty.Ranking boş bırakılamazsa görünümün Sıralama sütunu neden boş bırakılır olarak değerlendirilir ?