是否有一种简单的方法可以在调试模式下将ObjectContext设置为public并在发布模式下设置内部?
使用Linqpad连接到ObjectContext进行快速测试和查询非常方便,因此出于开发目的,我希望它是公开的。但是,当为一些聪明的客户部署同样的便利时,我不想想到后果。
答案 0 :(得分:2)
如评论中所述,这可能没有任何实际用途,但是:
#if DEBUG
public
#endif
class YourContext : ObjectContext
{
...
}
从.edmx文件处理生成的ObjectContext
时,您需要自定义C#文件的生成方式。默认设置不可自定义,但设计人员有一个选项“添加代码生成项”。如果你使用它,你会得到几个选择。我正在使用“ADO.NET自我跟踪实体生成器”,但同样适用于所有这些。选择此项会将两个模板文件(Model.tt和Model.Context.tt)添加到项目中,您可以根据需要随意修改。对于您要求的修改,您会在<#=Accessibility.ForType(container)#> partial class
文件中找到Model.Context.tt
。您可以更新此内容,使其显示为
#if DEBUG
<#=Accessibility.ForType(container)#>
#endif
partial class
答案 1 :(得分:0)
# if(DEBUG)
public ObjectContext _context;
# else
internal ObjectContext _context;
#endif