小编O.O*_*O.O的帖子

如何/在何处将业务规则应用于POCO对象?

假设我有一个包含以下内容的POCO:

    [DataMember]
    public Nullable<int> MetricId
    {
        get { return _metricId; }
        set
        {
            if (_metricId != value)
            {
                _metricId = value;
                OnPropertyChanged("MetricId");
            }
        }
    }
    private Nullable<int> _metricId;
Run Code Online (Sandbox Code Playgroud)

我想验证它MetricId严格大于0

很明显,如果我把这个规则作为数据注释放在这个类中,它将在下次重新生成poco时被覆盖.我把这个逻辑放在哪里?

谢谢!

c# poco entity-framework-4

5
推荐指数
1
解决办法
1320
查看次数

如何将键与值连接?

我正在尝试创建一个由键后跟其值组成的字符串,这样字符串看起来像:

密钥;值,密钥;值,密钥;值

到目前为止,我试图使用concat:

var originalKeyValues = entity.ChangeTracker.OriginalValues.Keys.Concat(
    entity.ChangeTracker.OriginalValues.Values).ToString();
Run Code Online (Sandbox Code Playgroud)

......但这似乎没有产生我想要的东西.

双方KeysValuesDictionary<string, object>

c# linq

5
推荐指数
1
解决办法
2597
查看次数

更换大开关?

我有一个名为"ReportController.aspx"的页面,其目的是基于查询字符串参数实例化报表(类)

        switch (Request.QueryString["Report"])
        {                
            case "ReportA":
                CreateReportAReport("ReportA's Title");
                break;
            case "ReportB":
                CreateReportBReport("ReportB's Title");
                break;                
            case "ReportC":
                CreateReportCReport("ReportC's Title");
                break;
            case "ReportD":
                CreateReportDReport("ReportD's Title");
                break;
                ...
Run Code Online (Sandbox Code Playgroud)

基本上,每次需要新报告时,都会有添加案例和添加方法的开销.这个switch语句可能会变得非常长.我读过可以使用Dictionary将报告映射到?.这看起来如何使用字典(假设这是一种更好的方式).

此外,CreateReportXReport方法基本上将一堆额外的QueryString值传递给报表类的构造函数(每个报表类都有不同的构造函数).

.net c# asp.net design-patterns

5
推荐指数
2
解决办法
846
查看次数

为什么“密封”会影响 IDisposable 的实现?

阅读此处的答案后,我决定将我的类标记为密封,以简化IDisposable实现。为什么sealed会影响IDisposable的实现(例如GC.SuppressFinalize(this);不需要调用)?请解释发生了什么事。我需要能够向其他开发人员解释为什么我要密封该类。

.net idisposable sealed .net-2.0

5
推荐指数
1
解决办法
2546
查看次数

UserControl的基类属于哪个层?

我有一个asp.net usercontrol(ascx),它继承自一个抽象类(继承自UserControl).我的项目采用3层架构(DAL - > Bll - > UI/Views).目前,UI层中没有类文件(除了代码隐藏).我应该将这个抽象类添加到哪一层?

非常感谢.

c# architecture asp.net

4
推荐指数
1
解决办法
277
查看次数

如何进行内联文本格式化?

例如,如果我有这个:

string message = "The Quick Brown Fox";    
someTextBlock.Text = message;
Run Code Online (Sandbox Code Playgroud)

默认情况下,它将显示如下:

快速的棕色狐狸

如何让它显示在 TextBlock(或任何包含内容的元素)中?

像这样:快速的棕色狐狸

笔记:

通过“内联”,我指的是在 HTML 中这是如何完成的:

someDiv.InnerHtml = "The <b>Quick</b> Brown <b>Fox</b>";
Run Code Online (Sandbox Code Playgroud)

c# silverlight silverlight-4.0

4
推荐指数
1
解决办法
1222
查看次数

如何阻止用户更改查询字符串

如何保护用户更改其中一个参数/值对的URL?

谢谢.

c# asp.net asp.net-3.5

3
推荐指数
2
解决办法
1662
查看次数

会话状态服务器与自定义会话状态提供者

我的任务是扩展应用程序的会话.从我的研究中最明显的选择是使用State Server会话提供程序,因为我不需要用户会话来持久化(SQL Server Session提供程序)

关于应用程序:

  • 目前正在使用InProc会话提供程序
  • 会话中存储的所有对象都是可序列化的
  • 所有对象都很小(大多数是简单的对象(int,string)和一些简单的类实例)

在我首先进入IT领域并且能够使用ASP.NET 4提供自定义会话提供程序之前,我是否应该考虑自定义会话状态提供程序.为什么或者为什么不?那里有"好"的吗?

谢谢!用户反馈:

  • 我们为什么使用会话:回发之间的数据持久性(例如用户选择)
  • 方法:用户进行选择,存储选择.用户离开页面并返回,选择将被恢复.等等
  • 将创建一个Web场

c# architecture asp.net session asp.net-4.0

3
推荐指数
2
解决办法
9224
查看次数

记录大多数记录

我需要帮助构建一个linq查询,该查询将返回在特定消息的日志表中显示最多的用户名列表.

public class Log
{
  public string Username {get; set;}
  public string Message {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我对消息是"创建用户","已修改用户"或"已删除用户"的行感兴趣.

到目前为止,我有:

    public IQueryable<Log> GetTop5ActiveUsersByManagementMessages()
    {
        return this.ObjectContext.Logs
            .Where(w => w.Message == "Created User" || 
                   w.Message == "Removed User" || 
                   w.Message == "Updated User").Take(5);
    }
Run Code Online (Sandbox Code Playgroud)

我希望这可以根据日志表中这些消息的数量或条目返回前5个用户名.

.net c# linq

3
推荐指数
1
解决办法
60
查看次数

MVVM 灯光在需要时创建和处理视图

我仍处于 MVVM Light 的早期并尝试研究这个

我有一个使用页面的 WPF 应用程序。我有一个页面叫做 AVOPage,它后面是一个叫做 AVOViewModel 的 ViewModel。

基本上我想做的就是每次创建页面时都会创建视图模型。当我关闭页面时,ViewModel 被销毁。所以基本上我每次都为这个页面使用一个新的 ViewModel。

那么我如何使用视图模型来做到这一点呢?

c# memory-management mvvm-light

3
推荐指数
1
解决办法
3335
查看次数