2011-12-07 92 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

相關問題