Varolan bir veritabanına dayalı bir varlık çerçeve modeli oluşturdum. Varlık Çerçevesi, ADO.NET DbContext Generator kullanıyor.MVC3/Jilet Ekleme Denetleyicisi "Get-PrimaryKey" birincil anahtarını bulmakta başarısız oluyor
Ayrıca, ilk projeden DLL kullanan bir MVC3/Razor projesi oluşturdum. Ben seçeneğine tıkladığınızda "Add -> Kontrolörü" ve rahatsız edici bir hata alıyorum gerekli alanları doldurun:
Scaffolding GroupController...
EMR_MasterEntities already has a member called 'Groups'. Skipping...
Get-PrimaryKey : Cannot find primary key property for type 'CHS.CCC.DataModel.Group'. No properties appear to be primar
y keys.
At C:\Users\adriangilbert\Desktop\CHS.Monitor\packages\MvcScaffolding.1.0.6\tools\Controller\MvcScaffolding.Controller.
ps1:74 char:29
+ $primaryKey = Get-PrimaryKey <<<< $foundModelType.FullName -Project $Project -ErrorIfNotFound
+ CategoryInfo : NotSpecified: (:) [Get-PrimaryKey], Exception
+ FullyQualifiedErrorId : T4Scaffolding.Cmdlets.GetPrimaryKeyCmdlet
Bundan kaçınmak için, ben Görsel tarafından oluşturulan Groups.cs gitmeye gerek Studio ve 'System.ComponentModel.DataAnnotations;' kullanarak ekleyin ve daha sonra Gruplar alanının bildirisine [Anahtar] ekleyin. Ancak bu üretilen koddur. Varlık Çerçeve Projesi'ni yeniden derlersek, değişikliklerim kaybolacaktır.
Yani - Sorum şu: Ben neden olduğunu yanlış bir şey yaptığını
Am Visual Studio Anahtar alandır, veya İskele Kodu bu sadece bir hata olduğunu anlamaya muktedir değil Anahtarın olduğunu anlamasını engellemek.
Bunun yalnızca dizeye dayalı Primary Keys ile başarısız olduğunu belirtmeliyim. Alan bir Tamsayı olarak ilan edilmişse, her şey mükemmel çalışır. İşte
CREATE TABLE [dbo].[Groups](
[group_name] [varchar](45) NOT NULL,
[dbname] [varchar](45) NOT NULL,
[user] [varchar](45) NULL,
[CompatibilityVersion] [nvarchar](20) NULL,
...
PRIMARY KEY CLUSTERED ([group_name] ASC)
) ON [PRIMARY]
My Çevre bulunuyor: Burada
sorunlu tablodur SP3 ile 2010
Varlığınızı nasıl belirttiniz? – cpoDesign