我应该如何构建MVC 4 + Web Api + Linq-to-Sql解决方案?

时间:2013-03-07 15:59:07

标签: asp.net-mvc linq-to-sql asp.net-web-api

我知道stackoverflow使用Linq to SQL。我决定,因为stackoverflow使用linq到sql(并且在我看来在高流量站点中运行良好),我将继续在我的MVC 4应用程序中使用它。

到目前为止,我的解决方案是一个MVC 4互联网项目,一个web api项目,模型类库,用于覆盖linq到sql的一些映射,然后我的linq到sql库项目。

我注意到当我向解决方案添加了一个web api项目时,api项目还有视图,控制器等作为常规的mvc 4项目。

web api项目是否提供与MVC 4 web项目相同的视图功能? 你会对项目设置推荐什么......

  1. 消除mvc 4互联网项目,只需使用网络API。
  2. 消除web api并使用存储库?
  3. 同时使用mvc 4互联网项目和网络API? 要么 ?????为什么?
  4. 我正在将一个asp.net Web表单应用程序移到mvc上。由于stackoverflow使用linq到sql,我决定重新使用我的linq到sql库而不是创建linq到实体。

    所有数据访问和操作都是使用linq to sql完成的,因此将查询移到Web api上要容易得多。

    我想尽可能多地重复使用代码,并将使用Telerik的Kendo UI进行MVC。

    应用程序需要在线和离线工作,所以我认为api会很好。

    但是在注意到api包含与mvc internet项目相同的对象类型之后,我不明白为什么我会同时使用internet和api mvc项目。

    由于

1 个答案:

答案 0 :(得分:1)

你可以双向前进。如果您创建Web API项目,它将附带所有MVC4功能。在controllers文件夹项目中,如果右键单击并说出new,则可以选择创建Web API控制器或MVC控制器。由于两者都有不同的URL(默认情况下Web APi将在URL中具有/ api /),因此您可以决定是调用MVC4控制器还是Web API控制器。