Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 4/SimpleMembership来自CakePHP的问题_C#_Entity Framework_Asp.net Mvc 4_Simplemembership - Fatal编程技术网

C# ASP.NET MVC 4/SimpleMembership来自CakePHP的问题

C# ASP.NET MVC 4/SimpleMembership来自CakePHP的问题,c#,entity-framework,asp.net-mvc-4,simplemembership,C#,Entity Framework,Asp.net Mvc 4,Simplemembership,我对ASP.NETMVC(和.NET一般)非常陌生。我正试图创建一个带有一些CRUD功能的基本网站,但是我被EF和SimpleMembership绊倒了。我花了数小时寻找好的入门信息,但MVC4似乎太新了,没有成熟的内容(我可以理解) 现在开始提问 如果我想添加一些模型,比如作业和应用程序,我应该将它们全部集中在一个单一的文件中,还是将每个模型分解为自己的文件 我应该有多少数据库上下文?看起来像这样吗 public class MyContext : DbContext { public

我对ASP.NETMVC(和.NET一般)非常陌生。我正试图创建一个带有一些CRUD功能的基本网站,但是我被EF和SimpleMembership绊倒了。我花了数小时寻找好的入门信息,但MVC4似乎太新了,没有成熟的内容(我可以理解)

现在开始提问

如果我想添加一些模型,比如作业和应用程序,我应该将它们全部集中在一个单一的文件中,还是将每个模型分解为自己的文件

我应该有多少数据库上下文?看起来像这样吗

public class MyContext : DbContext
{
    public DbSet<Job> Jobs { get; set; }
    public DbSet<Application> Applications { get; set; }
}
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

跨上下文的任何引用都不受支持。您可以添加int外键属性,使用属性[NotMapped]创建引用,并在从每个数据库分别获取两个实体时手动分配它们。例如,
如果(someJob.PosterKey==someUser.UserKey){someJob.Poster=someUser}
。不过会有点痛


编辑:我可能要做的第一件事是从AccountsModel文件中取出UsersContext类,并将其设置为自己的文件。通常我以我的应用程序命名上下文。因此,如果我的应用程序名为Jobs Manager,我将调用上下文JobsManager context并将其放入JobsManager context.cs文件中(我还将更改连接字符串以命名我的db JobsManager)。您可以将所有帐户模型类保留在第一个文件中,因为它们都是一起生成的。但是,为每个新模型类创建一个新文件。

每个类都应该有自己的cs文件,其名称与类的名称匹配:

Job.cs

Application.cs

MyContext.cs

每个数据库应该有一个DbContext。因此,如果希望所有这些表都位于同一个数据库中,则需要一个DbContext

跨上下文的任何引用都不受支持。您可以添加int外键属性,使用属性[NotMapped]创建引用,并在从每个数据库分别获取两个实体时手动分配它们。例如,
如果(someJob.PosterKey==someUser.UserKey){someJob.Poster=someUser}
。不过会有点痛


编辑:我可能要做的第一件事是从AccountsModel文件中取出UsersContext类,并将其设置为自己的文件。通常我以我的应用程序命名上下文。因此,如果我的应用程序名为Jobs Manager,我将调用上下文JobsManager context并将其放入JobsManager context.cs文件中(我还将更改连接字符串以命名我的db JobsManager)。您可以将所有帐户模型类保留在第一个文件中,因为它们都是一起生成的。但是为每个新模型类创建一个新文件。

ASp.net MVc4与ASp.net mvc 3几乎相同,即99%的mvc 3在mvc 4中。在你的位置上,我会忘记EF和预定义的成员资格,因为它们在asp.net世界中是非常可选的。是的,他们可以帮助你快速安装应用程序,但仅此而已。坦白地说,我认为micro orm更容易使用,因为它更接近php pdo方式。EF或任何其他ORM都是很难学习的,如果你要超越drag'n'dropASp.net MVc4与asp.net mvc 3非常相似,即mvc 3的99%都在mvc 4中。在你的位置上,我会忘记EF和预定义的成员资格,因为它们在asp.net世界中是非常可选的。是的,他们可以帮助你快速安装应用程序,但仅此而已。坦白地说,我认为micro orm更容易使用,因为它更接近php pdo方式。EF或任何其他ORM是很难学习的,如果你要超越拖放