我只是不知道如何解释清楚。所以我为我所做的事情创建了一个简单的图像模式。
我的问题是,我如何才能在 LS 的其他课程中访问我的数据库?
我一直在网上搜索,但我没有找到任何解决方案。我希望我能在这里找到它。
谢谢!。
任何建议都已受到赞赏。
我只是不知道如何解释清楚。所以我为我所做的事情创建了一个简单的图像模式。
我的问题是,我如何才能在 LS 的其他课程中访问我的数据库?
我一直在网上搜索,但我没有找到任何解决方案。我希望我能在这里找到它。
谢谢!。
任何建议都已受到赞赏。
感谢 Bryan 的回答,但我在这里找到了我的问题的答案Richard Waddell
这是我为实现目标所做的事情。
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()
项目中的任何位置。
谢谢!
主要区别在于第一组有效的代码在屏幕内运行。对于您的 Authenticate 类,您需要执行以下步骤来访问数据库。
注意:我假设您的数据源具有默认名称 ApplicationData 因为您隐藏了名称,如果没有,请进行相应的更改。如果是完全不同的数据源,请在下面的步骤中更改“_IntrinsicData”)
这些步骤取自Lightswitch 帮助网站
导航到 ..ServerGenerated\GeneratedArtifacts(在 LightSwitch 项目中)并单击 ApplicationData.cs 和 Add As Link。
在下面添加以下代码,此代码动态创建与数据库的连接。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