Saya punya meja:
CREATE TABLE [dbo].[Realty](
[Id] [int] IDENTITY(1,1) NOT NULL,
[RankingBonus] [int] NOT NULL,
[Ranking] AS ([Id]+[RankingBonus]) PERSISTED NOT NULL
....
)
Dan sebuah pemandangan:
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
Saya memiliki model dbml di C # (LinqToSQL) dengan tampilan FilteredRealty di dalamnya. Itu [Pemeringkatan] dikenali sebagai nullable int dan jadi saya harus memperbaiki jenis kode yang dihasilkan setiap kali ketika saya mengubah apa pun di database. Ini sangat menyebalkan bagi saya dan banyak pekerjaan manual.
Tidak ada agregat yang digunakan dalam FilteredRealty (mengenai pertanyaan terkait ini ).
Mengapa kolom Ranking pada tampilan dianggap nullable jika Realty.Ranking tidak dapat dibatalkan ?