【发布时间】:2010-12-29 15:50:51
【问题描述】:
我发现this关于将 linq 到 sql 类设置为内部的问题/答案,但我发现为存储过程返回类型生成的类被设置为公共,即使我为存储设置了访问修饰符过程和数据竞赛类作为内部,存储过程的生成类仍然是公共的。我怎样才能使它成为内部。我在单独的数据访问层程序集中执行此操作,因此我不希望这些类暴露给应用程序。
【问题讨论】:
标签: linq-to-sql
我发现this关于将 linq 到 sql 类设置为内部的问题/答案,但我发现为存储过程返回类型生成的类被设置为公共,即使我为存储设置了访问修饰符过程和数据竞赛类作为内部,存储过程的生成类仍然是公共的。我怎样才能使它成为内部。我在单独的数据访问层程序集中执行此操作,因此我不希望这些类暴露给应用程序。
【问题讨论】:
标签: linq-to-sql
创建一个局部类来调用存储过程。我会正常生成代码,然后将它们粘贴到单独的文件中,然后从设计图面上删除存储过程。然后,您可以根据需要设置访问修饰符。这也是处理存储过程的有用技术,其中 LINQ to SQL 不会像您期望的那样生成类,例如使用临时表的类。
内部部分类 DataClasses2DataContextExtended : System.Data.Linq.DataContext {
[Function(Name="dbo.SPDEMO")]
internal ISingleResult<SPDEMOResult> SPDEMO()
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())));
return ((ISingleResult<SPDEMOResult>)(result.ReturnValue));
}
}
internal partial class SPDEMOResult
{
public SPDEMOResult()
{
}
public System.Nullable<int> FilmID
{ get; set; }
public string FilmName
{ get; set; }
}
【讨论】: