【问题标题】:Sharepoint hosted CRUD Application? (Entity Framework?)Sharepoint 托管 CRUD 应用程序? (实体框架?)
【发布时间】:2011-05-25 16:29:48
【问题描述】:

我将创建一个基本的“CRUD”应用程序,它将在 Sharepoint 2010 中“运行”。数据将托管在 SQL 2008 R2 服务器上。

基本上,会有一些“添加”表单、一些查询和一些报告 (SSRS)。

老实说,该应用程序甚至不需要 Sharepoint,但我们正在尝试将尽可能多的这些应用程序托管在 Sharepoint 中。 (该应用程序当前是 Microsoft Access 应用程序。)

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

无论如何,我的问题是:

如果我创建一个 (Visual Studio) 解决方案(我知道我必须以 .Net 3.5 为目标,因为 SP 还不支持 4.0),我可以使用我通常的“分层”设计并创建一个单独的项目(程序集) 包含我所有的数据访问(实体框架),然后有一个单独的项目,其中包含所有可视 Web 部件(我们在其中设计数据输入表单)?这行得通吗?我是否能够从可视 Web 部件中调用 (EF) DAL 中的公开方法(在我将解决方案部署到 SP 服务器之后)?我是否必须做任何“特别”的事情,或者两个项目都会被打包成一个(它是什么)“wsp”文件并部署到 SP? (或者,我是否必须手动将我的 DAL 程序集添加到 GAC 等)

任何示例或教程也会对我有很大帮助。

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

谢谢! 谢恩

【问题讨论】:

    标签: entity-framework sharepoint-2010


    【解决方案1】:

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

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

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

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

    您应该尽一切可能使您的应用程序“适合”SharePoint。它应该使用相同的 UI 隐喻,尊重品牌,等等。没有什么比在 SharePoint 网站中拥有与 SharePoint 外观和行为完全不同的页面和 Web 部件更让用户感到不安的了。

    【讨论】:

    • 我想这就是我迷路的地方...如何创建 BLL 和 DAL 程序集?就像我想要一个普通的 ASP .Net 应用程序一样?那么,我将如何将这些程序集部署到 SP,以便我的表示层可以访问它们?感谢您的反馈罗布!我真的很感激。
    • 您在与 SharePoint 项目相同的 VS 解决方案中创建 BLL 和 DAL 项目。您在 SharePoint 项目中添加对这些程序集的引用并将它们用于开发。然后,您将条目添加到解决方案清单,以确保将 BLL 和 DAL 程序集部署为您的包的一部分 (blog.sharepointdevelopment.nl/post/…)
    • 我应该注意到我从未构建过这种类型的应用程序。我只是根据我在 SharePoint 和 ASP.NET 开发方面的经验做出有根据的假设。我建议你在真正深入研究这个项目的开发之前建立一个小的概念证明
    • Rob,我采纳了您的建议,我的方案确实有效。我的“解决方案”中有以下“项目”:Visual Web Part、BDCModel 和一个 C# 类(包含 EF 模型)。现在,我最关心的是您关于正确“标记”我们的可视 Web 部件的观点。我没有看到任何其他允许我们这样做的 VS 模板。在 SP 设计器中,当您创建外部列表并让它创建表单时,表单是“SP”样式的表单。 (查看此示例以了解我的意思:dotnetmafia.sys-con.com/node/1270918/mobile)。有关如何使我们的“看起来像 SharePoint”的任何建议??
    【解决方案2】:

    如果您拥有完整版的 sharepoint,您可以使用 Access Services,它将您的 Access 应用程序转换为 Web 应用程序,只需运行向导

    查看此视频了解详情:http://channel9.msdn.com/Shows/Access/Microsoft-Access-2010-Demo

    【讨论】:

    • 如果不是为了一个问题,那也行。我们公司的 CIO 已强制要求不安装 Microsoft Access。这是我们企业的一个大问题。我们实际上有数百个 Access 应用程序连接到我们许多不同的 SQL/DB2/etc 数据库。因此,我将其转换为 Sharepoint 应用程序并将其重新投入开发。 (这将是其中之一,一些我们正在转换为 WPF,一些转换为 Winforms,一些转换为 ASP.Net Sharepoint Hosted 和一些纯 Sharepoint。)这是一家拥有许多应用程序和开发人员的大型公司,现在我们的主要推动力是 SP
    • 我一直在重新考虑这个选项。这是否允许我们从桌面上删除 Access?我读得越多,似乎它会!这可能是一个不错的选择。至少在过渡期间要迅速远离 Access。对吗?
    • 是的,作为一个快速的解决方案,它会很好。您可以考虑的另一件事是将带有 Silverlight 的 Prism 作为 Web 部件部署到 SharePoint compositewpf.codeplex.com,但这需要更多的工作
    猜你喜欢
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    相关资源
    最近更新 更多