2011-05-23 78 views
3

我将创建一个基本的“CRUD”应用程序,该应用程序将在Sharepoint 2010中“生活”。数据将托管在SQL 2008 R2服务器上。Sharepoint托管CRUD应用程序? (实体框架?)

基本上,会有几个“添加”的形式,一些查询和一些报表(SSRS)。

老实说,应用程序并不真正甚至需要共享点,但我们正在努力让尽可能多的这些应用程序在SharePoint托管尽可能的。 (该应用程序是目前Microsoft Access应用程序。)

我有经验创建这些类型的应用程序(ASP .NET)和使用实体框架最近一直。通常,我在单独的Visual Studio Project(使用EF)中设计我的数据层,然后扩展它创建的部分类和/或有时创建另一个POCO层来访问数据(取决于有多少“业务逻辑”)。

不管怎样,我的问题是:

如果我创建一个(Visual Studio中)解决方案(我知道我必须面向.NET 3.5,因为由于SP不支持4.0还没有),我可以用我通常的“分层”设计,并创建一个独立的项目(程序集),让我的所有数据访问(实体框架),然后有一个单独的项目,其中包含所有的Visual Web部件(我们设计数据输入表单)?这会工作吗?我能从Visual Web Parts内的(EF)DAL调用暴露的方法吗(将我的解决方案部署到SP Server后)?我需要做什么“特殊”或将两个项目打包成一个(它是什么)“wsp”文件并部署到SP? (或者,将我必须手动让我DAL大会加到GAC等)

任何实例或教程将是一个很大的帮助,我也一样。

而且,如果你认为我会对此都错了,我也想知道你将如何创建一个类似appliation。有一个更好的方法吗? (我知道我可以创建一个BDC模型并使用外部内容类型通过Sharepoint列表访问我们的SQL数据。尽管由于某种原因,它似乎并不是这个特定应用的“正确路径”......我但我倾向于创建一个“传统”的ASP .Net应用程序,它只是将SharePoint用作其“托管网站服务器”)。

谢谢! 谢恩

回答

0

你能做到吗:是的。你应该这样做:可能不是。

你打它的头。您正在创建和ASP.NET应用程序,而不是SharePoint应用程序。

无论如何,假设你将不得不以这种方式进行,这是我的建议。

使用SharePoint项目模板和SharePoint项目项目构建表示层(Web部件,应用程序页面)。该项目可以引用实现应用程序其余层的程序集。然后,Visual Studio将准备一个解决方案包(WSP),可用于测试和部署到生产服务器。

您应该尽一切可能使您的应用程序“适合”到SharePoint中。它应该使用相同的UI隐喻,尊重品牌等等。对于用户来说,没有什么比这更刺激的了,让页面和Web部件的外观和行为完全不同于SharePoint站点中间的SharePoint。

+0

我想这就是我失去了......如何创建BLL和DAL程序集?就像我会经常使用ASP .Net应用程序一样?那么,我将如何将这些程序集部署到SP,以便我的表示层可以访问它们?感谢Rob的反馈!对此,我真的非常感激。 – Shayne 2011-05-26 18:58:53

+0

您可以在与SharePoint项目相同的VS解决方案中创建BLL和DAL项目。您在SharePoint项目中添加对这些程序集的引用并将其用于开发。然后,您将条目添加到解决方案清单中,以确保将BLL和DAL程序集部署为您的程序包的一部分(http://blog.sharepointdevelopment.nl/post/Add-an-assembly-to-your-Visual-Studio-2010 -SharePoint-Package.aspx) – 2011-05-26 19:12:00

+0

我应该注意到,我从来没有构建过这种类型的应用程序。我只是根据我在SharePoint和ASP.NET开发方面的经验做出了有根据的假设。我建议你在开发这个项目之前建立一个小概念证明 – 2011-05-26 19:15:01

0

如果你有完整版本的SharePoint,你可以使用Access服务,将您的Access应用程序转换为Web应用程序,只需运行该向导

看到这部影片的详细信息:http://channel9.msdn.com/Shows/Access/Microsoft-Access-2010-Demo

+0

这将工作,如果不是一个问题。我们公司的CIO已经要求不安装Microsoft Access。这在我们的Enterperise中是一个巨大的问题。我们有数百个Access应用程序连接到我们的许多不同的SQL/DB2/etc数据库。因此,我将它转换为Sharepoint应用程序并将其重新开发。 (这将是众多应用程序中的一个,我们正在转换为WPF,一些转换为Winforms,一些转向ASP.Net Sharepoint托管以及一些纯粹的Sharepoint。)这是一家拥有众多应用程序和开发人员的大公司,现在我们的大力推动是SP – Shayne 2011-05-24 20:34:45

+0

我一直在重新考虑这个选项。这将允许我们从桌面上删除Access吗?我读到的东西越多,看起来好像会!这可能是一个很好的选择。至少在过渡期间,快速离开Access。正确? – Shayne 2011-05-25 13:47:12

+1

是的,作为一个快速解决方案,它会很好。你可以考虑的另一件事是棱镜与Silverlight部署为SharePoint的webparts http://compositewpf.codeplex.com/,但这将是更多的工作 – 2011-05-25 14:20:17