0

ASPNETフォームの検証テーブルから、モデル化するためにFKを作成します。また、aspnet_regsqlを実行してフォーム検証を作成しました。私はこれを使用して、アプリケーションが使用するデータベースと同じデータベースにテーブルを作成しました。私は、UsersテーブルからFKを使って新しいモデルを作成する方法を工夫しています。アプリケーションでモデルを作成するために検証テーブルをリバースエンジニアリングする必要がありますか?今のところ、テーブルはaspnet_regsqlコマンドを実行して作成されたものであり、ASP.netソリューションのモデルとして存在しないため、SQL 2008データベースにのみ存在します。は、私は最近、(VBを使用して)MVC 3のASP.netアプリケーションを作成しました

Imports System.Data.Entity 
    Imports System.ComponentModel 
    Imports System.ComponentModel.DataAnnotations 
    Imports System.Globalization 

    Public Class modelArtist 
    Public Property ID() As Integer 

    <Required()> _ 
    <DataType(DataType.Text)> _ 
    <Display(Name:="Artist Name:")> _ 
    Public Property ArtistName() As String 

    <DataType(DataType.Text)> _ 
    <Display(Name:="Artist Bio:")> _ 
    Public Property ArtistBio() As String 

    <Display(Name:="")> 
    Public Property dateCreated() As Date 

    <Display(Name:="")> _ 
    Public Property dateLastEdited() As Date 
End Class 

    Public Class iDjItDBContext 
    Inherits DbContext 
    Public Property modelArtist() As DbSet(Of modelArtist) 
    End Class 

答えて

1

あなたはユーザーテーブルにFKを表す単純なプロパティを追加することができますが、あなたがしなければならない:ここで私は今持っているコードは、モデルの私は(1対多の関係など)にFKを追加したいですナビゲーションプロパティを追加しません。この場合のFKは、他の意味のない単なる単純なプロパティになります。エンティティとユーザーの間の接続が確立されますが、EFのユーザーとの作業は許可されません。また、テーブルとユーザーテーブルの間のデータベースに手動でリレーションシップを作成する必要があります。

点は、ASP.NETのデータベーステーブルから何かをマップしないです。

  • これらの機能は、ASP.NETで、独自のAPIを持っています。 EFからこれらの機能にアクセスすると、そのAPIのカプセル化に違反する(懸念の分離と同様)。そのAPIが提供する
  • クラスは、通常、直接マッピングすることはできません。データベースからテーブルをマップしたい場合は、それらのエンティティに対して新しいエンティティクラスを作成する必要があります。コードの重複と、そのAPIによって強制されるカプセル化とルールを再度破棄する必要があります。ところで

。これはフォーム認証ではなくフォーム認証と呼ばれます。

+0

助けてくれてありがとう! – jason

関連する問題