簡體   English   中英

CakePHP專家提供的ASP.NET MVC 4 / SimpleMembership問題

[英]ASP.NET MVC 4 / SimpleMembership questions from a CakePHP guy

我對ASP.NET MVC(和一般.NET)非常陌生。 我正在嘗試將具有某些CRUD功能的基本網站組合在一起,但是我被EF和SimpleMembership絆倒了。 我已經花了數小時尋找良好的入門信息,但是看來MVC 4太新了,無法擁有成熟的內容(據我所知)。

現在有問題!

如果我想添加一些模型,例如Jobs and Applications,我應該將它們全部合並到一個單一的整體文件中,還是將每個模型分解成自己的文件?

我應該有幾個數據庫上下文? 會是這樣嗎?

public class MyContext : DbContext
{
    public DbSet<Job> Jobs { get; set; }
    public DbSet<Application> Applications { get; set; }
}

UsersContext(來自SimpleMembership)是否應該與我為模型創建的上下文分開?

如果我想從一個作業到一個用戶(例如張貼者和接受者)具有多個“導航屬性”(正確使用?),我會這樣嗎?

public class Job
{
    public int JobId { get; set; }

    public virtual User Poster { get; set; }
    public virtual User Taker { get; set; }
}

與上一個問題相關,如果我使用SimpleMembership並將模型的上下文和UsersContext分開(我認為應該,如果我錯了,請更正),如何跨上下文邊界進行引用?

回答這些問題確實可以幫助我起步! 謝謝!

每個類應具有自己的cs文件,其名稱與類的名稱匹配:

Job.cs

Application.cs

MyContext.cs

每個數據庫應該有一個DbContext。 因此,如果您希望所有這些表都在同一個數據庫中,則需要一個DbContext。

跨上下文的任何引用AFAIK均不支持。 您可以添加int外鍵屬性,並使用屬性[NotMapped]創建引用,並在從每個數據庫中分別獲取兩個實體時手動分配它們。 if(someJob.PosterKey == someUser.UserKey) { someJob.Poster = someUser } 雖然會有些痛苦。

編輯:我可能要做的第一件事是從AccountsModel文件中取出UsersContext類,並使其成為自己的文件。 通常,我用我的應用程序命名上下文。 因此,如果我的應用程序叫做Jobs Manager,我將調用上下文JobsManagerContext並將其放在JobsManagerContext.cs文件中(我還將更改連接字符串以將其命名為db JobsManager)。 您可以將所有帳戶模型類保留在第一個文件中,因為它們都是一起生成的。 但是,為您的每個新模型類創建一個新文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM