[英]How to access database in lightswitch in other class?
我只是不知道如何清楚地解释这一点。 所以我创建了一个简单的图像模式。
我的问题是,如何在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
访问它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.