我正在使用lightswitch,我可以使用Created()方法为字段设置默认值。现在我可以明确设置这个值。我的查询有一个过滤它的参数。我想设置我将提供动态值的字段的默认值。我怎么做?以下就是我的......
partial void Payperiod_Created()
{
this.EstateID = 5;
}
被修改
我在public partial class sspDataService
中创建了一个方法方法..数据serivce类,它将返回我想要的值。我的目的是创建一个全局变量。
public string estateName()
{
string esName = "";
string uName = this.Application.User.Identity.Name;
try
{
var qryUser =
this.aspnet_Users.Where(a => (a.UserName == uName)).SingleOrDefault();
esName = qryUser.PayGroup;
}
catch (Exception e)
{
Debug.WriteLine(e.InnerException.ToString());
}
return esName;
}
但是我无法在Payperiod_Created()
方法中访问此方法。希望这会有所帮助。
答案 0 :(得分:0)
你能详细说明吗? (具体来说,该值将如何提供?)
具体来说,您需要将值传递给方法本身,以便方法的定义变为:
partial void Payperiod_Created(int newVal)
{
this.EstadeID = newVal;
}
然后,只要您调用该方法,就可以包含新值:
Payperiod_Created(5); //this will EstateID to 5
答案 1 :(得分:0)
您可以将参数声明为Nullable Int(int?)whcih是一个接受null或int值的变量类型。然后检查提供的空值,如果is为null,则可以设置为默认值:
public void ExecuteQuery(int? myParam)
{
EstateId = myParam ?? EstateId;
// Execute your query...
}
现在,表达式EstateId = myParam ?? EstateId;
是一个IsNull运算符,相当于“将EstateId值设置为myParam值,除非它为null,然后将其设置为现在的任何EstateId值”,或换句话说:
if(myParam != null) { EstateId = myParam; }