ASP.NET MVC论坛应用程序

时间:2009-11-06 18:00:10

标签: asp.net-mvc linq-to-sql asp.net-membership forum

我需要为朋友的网站编写一个论坛应用程序。我想用C#3.0在ASP.NET MVC框架上用SQL Server数据库编写它。

所以,我有两个问题:

  • 我应该使用Linq to SQL还是实体框架作为数据库抽象?
  • 我应该使用ASP.NET Membership API还是添加Users表并自行实现?

感谢。

6 个答案:

答案 0 :(得分:1)

  1. 有很多关于互联网的例子,它使用了与ASP.NET MVC一起使用。但可能你可以添加你的NHibernate列表。如果你不想添加我建议实体框架。使用ORM是一个优点。
  2. 我总是选择编写自己的会员管理层。如果您是一个喜欢的人(编写自己的代码并在将来进行更改时感到高兴。)编写您自己的成员资格层。如果您正在寻找快速解决方案,ASP.NET Membership API是一个不错的选择。

答案 1 :(得分:0)

  1. 实体框架肯定 - 见下文。
  2. ASP.net Membership API - 易于维护。
  3. 原因: Entity Framework vs LINQ to SQL

答案 2 :(得分:0)

1)两者怎么样?只需创建一个抽象,你就可以使用它们。我的建议是使用存储库模式。

2)会员提供者有其优点和缺点。对于某些项目来说,这对我的需求来说太复杂了。但是,如果你需要在短时间内运行,那就太棒了。

答案 3 :(得分:0)

我不会回答第一个问题,因为我是nhibernate的粉丝 对于第二个问题,添加一个用户表并实现自己的成员资格我不认为你至少能以正确的方式做到这一点(很多人试图建立自己的会员资格api但是他们搞砸了!)

答案 4 :(得分:0)

1)完全取决于事情的复杂程度。如果你想要一个或多或少以1:1的方式镜像你的桌子的快速DAL,那么选择L2S(或SubSonic,如果你想要更成熟和支持的东西)。如果你想要更多的n层类型的东西,你的表和域模型是完全不同的,那么就去寻找一个像实体框架一样的OR / M(如果你想要的东西在各方面都要好得多,那就选择NHibernate)

2)ASP.net会员资格非常复杂,而且有些内容设计得相当糟糕。但是,这取决于你对这些东西的经验。如果你足以知道如何采取措施来避免会话固定攻击,那么只需要自己动手,因为它可能比固定解决方案更好。如果您不知道那是什么,请花时间学习默认值。

答案 5 :(得分:0)

要考虑的事情,SubSonic 3是一个非常强大的数据访问生成工具。根据我的理解,它基本上将Linq包装到一些非常有用的包装器中的Sql中,并使Linq更直观一些。使用SubSonic时,您可以立即建立一个非常强大的应用程序。但是,如果您使用的是共享主机(比如说GoDaddy),那么您将遇到一个中等信任问题。在这种情况下,您可以随时回退到Linq To Sql,而无需对代码库进行很多更改。

至于Aspnet_Membership。只是因为它提供了大量的工具,我建议使用它。

祝你好运,希望这会有所帮助。