小编Jah*_*ine的帖子

asp.net mvc中的多步注册流程问题(split viewmodels,single model)

我有一个多步注册过程,由域层中单个对象支持,其中包含在属性上定义的验证规则.

当域被分割为多个视图时,我应该如何验证域对象?我必须在发布时将对象部分保存在第一个视图中?

我想过使用Sessions但是这不可能因为这个过程很漫长而且数据量很高,所以我不想使用session.

我考虑将所有数据保存在关系内存数据库中(使用与主数据库相同的模式),然后将该数据刷新到主数据库,但出现问题因为我应该在服务(在视图中请求)中使用主数据库和内存数据库.

我正在寻找一个优雅而干净的解决方案(更准确地说是一种最佳实践).

更新和澄清:

@Darin感谢您的深思熟虑的答复,这正是我迄今为止所做的.但顺便说一句,我有一个请求,里面有很多附件,我设计了一个Step2View例如哪个用户可以异步上传文件,但是这些附件应该保存在一个表中,该表与之前保存的另一个表有参考关系.Step1View.

因此,我应该Step1(部分地)保存域对象,但我不能,导致部分映射到Step1的ViewModel的支持的Core Domain对象无法保存而没有来自转换的道具Step2ViewModel.

asp.net-mvc

115
推荐指数
6
解决办法
5万
查看次数

编译时和运行时转换c#

我想知道为什么在编译时检查C#中的某些转换,而在其他情况下,责任转储到CLR上.如上所述都是不正确的,但以不同的方式处理.

class Base { }
class Derived : Base { }
class Other { }

static void Main(string[] args)
{
    Derived d = (Derived)new Base();     //Runtime       InvalidCastException
    Derived d = (Derived)new Other();    //Compile-time  Cannot convert type...
}
Run Code Online (Sandbox Code Playgroud)

在阅读"C#深度"时,我发现了有关此主题的信息,其中autor说:
"如果编译器发现实际上不能使该转换工作,它将触发编译错误 - 如果理论上允许但实际上在执行时不正确,CLR会抛出异常."

"理论上"是否意味着通过继承层次结构(对象之间的另一个关联性?)连接,还是编译器的内部业务?

.net c# type-systems casting

17
推荐指数
1
解决办法
2821
查看次数

为什么我必须提供显式泛型参数类型而编译器应该推断出类型?

为什么我必须提供显式泛型参数类型而编译器应该推断出类型?

public static T2 Cast<T1,T2>(this T1 arg) where T2 : class where T1 : class
{
    return arg as T2;
}
Run Code Online (Sandbox Code Playgroud)

样品用法:

 objOfTypeT2 = objOfTypeT1.Cast<TypeT1,TypeT2>();
Run Code Online (Sandbox Code Playgroud)


与我对更智能的编译器的期望用法相比:

 objOfTypeT2 = objOfTypeT1.Cast<TypeT2>();
Run Code Online (Sandbox Code Playgroud)

或者我应该更聪明:-)

请注意,我提供了返回类型.我想不提供我在其上调用函数的对象,该方法是一个扩展方法.

.net c# generics type-inference

13
推荐指数
2
解决办法
1350
查看次数

Linq to Objects - 从数字列表中返回数字对

var nums = new[]{ 1, 2, 3, 4, 5, 6, 7};
var pairs  = /* some linq magic here*/ ;
Run Code Online (Sandbox Code Playgroud)

=> pairs = {{1,2},{3,4},{5,6},{7,0}}

元素pairs应该是两元素列表,或者是一些具有两个字段的匿名类的实例,例如new {First = 1, Second = 2}.

c# linq linq-to-objects aggregate slice

12
推荐指数
2
解决办法
4595
查看次数

如何通过扩展方法隐藏成员方法

public static class MyClass
{
    public static void Add<T>(this List<T> list, T item)
    {
        list.Add(item);
        Console.WriteLine(item.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后

List<string> list = new List<string>(){"1","2"};
list.Add("3");
Run Code Online (Sandbox Code Playgroud)

但是会调用成员方法.

反正有没有打电话给我Extension Method

我不想这样称呼它:

MyClass.Add(list, item)
Run Code Online (Sandbox Code Playgroud)

.net c#

11
推荐指数
2
解决办法
2126
查看次数

NHibernate无法将MySQL日期/时间值转换为System.DateTime

我得到"无法将MySQL日期/时间值转换为System.DateTime"错误,因为从我可以告诉我有一个记录与0000-00-00 00:00:00.现在虽然数据永远不应该(它应该为null),但有时可能会发生这种情况,并且我不希望整个应用程序因此而崩溃.我正在使用NHibernate,我尝试添加更改我的连接字符串以允许零日期时间,因此连接字符串配置如下所示:

<property name="connection.connection_string">
 Server=localhost;Database=user_system;User ID=root;Password=root;
   Allow Zero Datetime=true;
</property>
Run Code Online (Sandbox Code Playgroud)

但是我仍然收到这个错误.如何允许NHibernate为时间戳/日期时间/数据/时间允许零值?

c# mysql asp.net nhibernate

7
推荐指数
1
解决办法
3510
查看次数

如何在Ruby Net :: HTTP中实现cookie

那是我的代码.

现在我需要向主机发送cookie但我找不到解决方案.


def get_network_file(url=nil)
  begin
    http = Net::HTTP.new( @service_server, 80 )
    resp, data = http.get( url, { "Accept-Language" => @locale } )
    if resp.code.to_i != 200
      RAILS_DEFAULT_LOGGER.error "*** return code != 200. code = #{resp.code}"
      return ""
    end
    rescue Exception => exc
      RAILS_DEFAULT_LOGGER.error "*** message --> #{exc.message}"
      return ""
    end
    return data
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby cookies http net-library

6
推荐指数
1
解决办法
8154
查看次数

检查集合中是否已存在对象

我正在学习编程,我的问题是我有一堆对象,我想只有在列表尚未包含该对象时才将这些对象添加到列表中.其次,如果对象已经包含,我想忽略该对象并添加下一个对象.我想我的第一部分工作只需要第二部分的帮助.非常感谢.

PartyGroup partyGroup = new PartyGroup(); 

using (AseDataReader reader = command.ExecuteReader()) 
{ 
    while (reader.Read()) 
    {  
        if (!myPartyGroupList.Contains(partyGroup)) 
        { 
            partyGroup.PartyGroupID = Convert.ToInt32(reader["party_group_id"]); 
            partyGroup.PartyGroupName = reader["party_group_name"].ToString(); 
            partyGroup.PersonList = myPersonList; 

            myPartyGroupList.Add(partyGroup); 
        } 
        else 
        { 
            //?? 
        } 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

c# equality list

4
推荐指数
2
解决办法
2万
查看次数

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

将字符串转换为关键字

我们可以轻松地将关键字转换为字符串:

true.to_s
=> "true"
Run Code Online (Sandbox Code Playgroud)

但是如何将字符串转换为关键字?

ruby parsing keyword

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

如何使用关键字选择最小值

我创建了表stu_dep_det

CREATE TABLE  `stu_dept_cs` (
  `s_d_id` int(10) unsigned NOT NULL auto_increment,
  `stu_name` varchar(15) , `gender` varchar(15) , `address` varchar(15),`reg_no` int(10) ,
  `ex_no` varchar(10) ,
  `mark1` varchar(10) ,
  `mark2` varchar(15) ,
  `mark3` varchar(15) ,
  `total` varchar(15) ,
  `avg` double(2,0),
  PRIMARY KEY  (`s_d_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=8 ;
Run Code Online (Sandbox Code Playgroud)

然后插入值

INSERT INTO `stu_dept_cs` (`s_d_id`, `stu_name`, `gender`, `address`, `reg_no`, `ex_no`, `mark1`, `mark2`, `mark3`, `total`, `avg`) VALUES
(1, 'alex', 'm', 'chennai', 5001, 's1', '70', '90', '95', '255', 85),
(2, 'peter', 'm', 'chennai', 5002, …
Run Code Online (Sandbox Code Playgroud)

mysql sql t-sql sql-server

2
推荐指数
1
解决办法
2万
查看次数

原因Ruby和RoR项目倾向于使用Sass而不是LESS?

我正在开始我的第一个RoR项目,我现在已经是一个LESS用户了一段时间.我没有反对Sass,我只是偶然发现了LESS.那说:

  1. 我发现有更多的参考资料使用Sass和Compass而不是LESS和SimpLESS
  2. 乍一看,Ruby Mine IDE(我正在考虑尝试)似乎内置了Sass选项,但对于LESS来说却没有.

我不想知道哪个Sass和LESS"更好",只是如果有一个固有的理由更喜欢Sass和Ruby开发.

ruby ruby-on-rails sass less

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

GetValue通过反思

我希望通过循环遍历它们并使用如下反射来获取MDI表单值的每个ToolStripMenuItem:

FieldInfo[] menuitems = GetType().GetFields(BindingFlags.GetField | 
    BindingFlags.NonPublic | BindingFlags.Instance);
foreach (var item in menuitems )
  if (item.FieldType.Equals(typeof(ToolStripMenuItem)))
      MessageBox.Show(
        item.FieldType.GetProperty("Tag").GetValue(item, null).ToString());        
Run Code Online (Sandbox Code Playgroud)

但我得到"对象不匹配目标类型"错误,我很困惑,不知道指定哪个对象作为获取值的源对象.

请指导我...提前谢谢你.

c# reflection

-1
推荐指数
1
解决办法
367
查看次数