2011-12-07 101 views
3


我只是不知道如何解释清楚。所以我创建了一个我所做过的简单图像模式。
我的问题是,我如何能够访问我的数据库在LS的其他类?
我一直在网上搜索,但我没有找到任何解决方案。我希望我能在这里找到它。
谢谢! enter image description here如何在其他课程的lightswitch中访问数据库?


任何建议已经被赞赏。

回答

4

感谢您的回答布莱恩访问它,但我找到了答案我的问题就在这里Richard Waddell


这里是什么我做到了实现我的目标。

  1. 切换您的LS项目文件视图
  2. 进入“通用”项目,在“用户代码”文件夹中,创建一个类(例如Authenticate.cs),并把这个代码。

的代码如下:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.LightSwitch; 
namespace LightSwitchApplication 
{ 
    public class Authenticate 
    { 
     public static adminuser GetCurrentUser() 
     { 
      adminuser userFound = (from useritem in 
      Application.Current.CreateDataWorkspace().basecampcoreData.adminusers 
      where useritem.LoginID == Application.Current.User.Name 
      select useritem).SingleOrDefault(); 

      if (userFound != null) 
       return userFound; 
      else 
       return null; 
     } 
    } 
} 

然后你就可以在任何地方,现在在项目中调用Authenticate.GetCurrentUser()
谢谢!

+0

感谢您分享如何做到这一点:) –

1

主要区别在于第一组工作的代码在屏幕中运行。对于您的Authenticate类,您需要执行以下步骤来访问数据库。

注:我假设你的数据源具有默认名称ApplicationData,因为你隐藏了名称,如果没有,请进行相应的更改。如果它是一个完全不同的数据源,变“_IntrinsicData”在下面的步骤)

这些步骤都取自Lightswitch Help Website

  1. 导航到..ServerGenerated \ GeneratedArtifacts(在LightSwitch的项目)和单击ApplicationData.cs和添加为链接。

  2. 在下面添加下面的代码,这段代码动态创建一个到数据库的连接。 LightSwitch使用“_IntrinsicData”作为连接字符串。

private ApplicationDataObjectContext m_context; 
    public ApplicationDataObjectContext Context 
    { 
     get 
     { 
      if (this.m_context == null) 
      { 
       string connString = 
        System.Web.Configuration.WebConfigurationManager 
        .ConnectionStrings["_IntrinsicData"].ConnectionString; 
       EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder(); 
       builder.Metadata = 
        "res://*/ApplicationData.csdl|res://*/ApplicationData.ssdl|res://*/ApplicationData.msl"; 
       builder.Provider = 
        "System.Data.SqlClient"; 
       builder.ProviderConnectionString = connString; 
       this.m_context = new ApplicationDataObjectContext(builder.ConnectionString); 
      } 
      return this.m_context; 
     } 
    } 

您应该能够通过Context.adminusers

相关问题