小编Dan*_*ani的帖子

可空对象必须具有值

异常描述中存在悖论:Nullable对象必须有一个值(?!)

这就是问题:

我有一个DateTimeExtended课,有

{
  DateTime? MyDataTime;
  int? otherdata;

}
Run Code Online (Sandbox Code Playgroud)

和一个构造函数

DateTimeExtended(DateTimeExtended myNewDT)
{
   this.MyDateTime = myNewDT.MyDateTime.Value;
   this.otherdata = myNewDT.otherdata;
}
Run Code Online (Sandbox Code Playgroud)

运行此代码

DateTimeExtended res = new DateTimeExtended(oldDTE);
Run Code Online (Sandbox Code Playgroud)

抛出一条InvalidOperationException消息:

可以为空的对象必须具有值.

myNewDT.MyDateTime.Value- 有效且包含常规DateTime对象.

这条消息的含义是什么?我做错了什么?

请注意,oldDTE不是null.我已经去除了ValuemyNewDT.MyDateTime,但相同的异常因抛出一个生成的制定者.

c# nullable invalidoperationexception

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

使用包含在实体框架4中的lambda表达式

我见过很多关于如何克服这个问题的文章,都与CTP4有关,或者添加了我自己的扩展方法.

是否有一个"官方"EF4包含方式在内部使用lambda表达式(对于第一级关系以及第二级和更多级别)或者它最终是否包含在RTM中?

它有一个 - 我很乐意学习如何做到这一点,因为现在在我的代码中使用lambda表达式(使用#system.data.entity#system.data.linq)仍然给了我:

无法将lambda表达式转换为类型'string',因为它不是委托类型:

var customers = from c in
context.Customers.Include(c=>c.Phone)
Run Code Online (Sandbox Code Playgroud)

c# lambda entity-framework-4

85
推荐指数
3
解决办法
7万
查看次数

htmlentities()和mysql_real_escape_string()是否足以清除PHP中的用户输入?

我是PHP的新手,基本上我正在尝试为我的网站创建一个评论系统.我有以下功能:

$ input = $ _POST ['comment'];

function cleanUserInput($ input){$ input = mysql_real_escape_string($ input); $ input = htmlentities($ input); return $ input; }

所以问题是,mysql_real_escape_string是否足以阻止sql注入?并且htmlentities()是否足以阻止用户输入的脚本,html和样式具有实际效果并且只显示为文本?

或者我是否需要在我的函数中添加更多内容才能使输入真正无害?

php

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

Visual Studio 2010 WebServer加载速度非常慢

我正在研究ASP.NET MVC2项目.在过去的几个月里一切都很好,今天突然,加载第一页的时间从5秒提升到1:30分钟!

我检查输出视图,我看到很多像这样的行:

WebDev.WebServer40.EXE' (Managed (v4.0.30319)): 
Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.DurableInstancing\v4.0_4.0.0.0__31bf3856ad364e35\System.Runtime.DurableInstancing.dll', 
Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Run Code Online (Sandbox Code Playgroud)

其中一些与我的项目完全无关,如下所示:

'WebDev.WebServer40.EXE' (Managed (v4.0.30319)): 
Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data.OracleClient\v4.0_4.0.0.0__b77a5c561934e089\System.Data.OracleClient.dll', 
Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Run Code Online (Sandbox Code Playgroud)

发生了什么 ?我试图改变选项不加载符号,没有帮助,移动释放,同样的事情.

有什么想法我的开发环境发生了什么?这是一台Win7 X64机器,VS2010 SP1.

webserver visual-studio-2010

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

将日期参数传递给RedirectToAction RouteValues

通过传递DateTime或传递日期时将DateTime参数传递给RedirectToAction(Asp.Net MVC2):"13/4/2000"

    return RedirectToAction("index", "ControllerName",  new { mydate =  DTHelper.PrintDate(myVM.someobject.someobjectDateTime) });
Run Code Online (Sandbox Code Playgroud)

使用此表示形式传递的参数 - 控制器无法解析:

HTTP://本地主机:6105/ControllerName数值指明MyDate = 19%2F6%2F2011

我怎么能把它作为原始传递(它在我自己构建url时有效):

(这不会起作用b/c%2F ....)

parameter-passing asp.net-mvc-2

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

MVC2 - > MVC3升级

正如今天发布的MVC3,我想问一下是否有人在从MVC2升级到MVC3时遇到了问题(没有改变视图中的任何内容).

我目前正在使用EF4,Telerik扩展

我应该升级,还是应该等?

upgrade asp.net-mvc-3 asp.net-mvc-2

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

Linq中的DateTime操作实体查询

运行此代码:

public bool CheckTime(DateTime date, int UserID, int TotalTimeMin)
        {
            using (var context = new myDB())
            {         
                var assginments = from c in context.Assignments.Where(x=>(x.AssignmentDateTime < date && x.AssignmentDateTime.Value.AddMinutes(TotalTimeMin) > date) || 
                    (x.AssignmentDateTime < date.AddMinutes(TotalTimeMin))) select c;

                if(assginments != null) return false;
                else return true;
            }


        }
Run Code Online (Sandbox Code Playgroud)

我收到这个错误.

LINQ to Entities does not recognize the method 'System.DateTime AddMinutes(Double)' method, and this method cannot be translated into a store expression.
Run Code Online (Sandbox Code Playgroud)

TotalTimeMin是int.我不确定是什么原因导致的:AssignmentDateTime是DateTime?也许这就是问题?

linq-to-entities entity-framework-4

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

将TextBlock绑定到Window的属性

这应该很简单,但我不能让它工作.我有一个窗口(主xaml应用程序窗口)

我已经定义了一个类型为"Test"的类型(谁拥有和int ID和DateTime TestDate)

      public Test CurrentTest
    {
        get
        {
            return currentTest;
        }
        set
        {
            currentTest = value;
            OnPropertyChanged("CurrentTest");
        }
    }
Run Code Online (Sandbox Code Playgroud)

我添加了OnPropertyChanged Impl:

public event PropertyChangedEventHandler PropertyChanged;
    private void OnPropertyChanged(String property)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我尝试将它绑定到窗口上的文本块.但它不起作用:

<TextBlock Text="{Binding Source={StaticResource CurrentTest}, Path=TestDate, StringFormat=dd/MM/yyyy, TargetNullValue=Not Yet Set}"></TextBlock>
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

<TextBlock>
            <TextBlock.Text>
                <Binding ElementName="CurrentTest" Path="TestDate" TargetNullValue="not yet set" Mode="OneWay"></Binding>
            </TextBlock.Text>
        </TextBlock>
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能让textBlock显示此属性的日期?

wpf binding

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

导致EDMX文件移动到新项目:System.Data.MetadataException:无法加载指定的元数据资源

我有一个ASP.NET MVC 2项目.我在包含模型的类库项目上创建了edmx文件.

现在我已经创建了另一个名为shared的类库,并在那里移动了edmx文件.解决了一些问题,一切都编译好了,但是在运行时找不到连接字符串资源.

我已将Web.Config的ConnectionString部分复制到主文件,旧类库app.config文件和新类库app.config文件中.

仍然会收到此错误:

System.Data.MetadataException:无法加载指定的元数据资源.

第75行:public myProjdb():base("name = myProjdb","MyProjdb")

在MyProj.Designer.cs文件中.

任何想法如何解决这个问题?

是否有更好的方法来存储连接字符串数据?

connection-string entity-framework-4 asp.net-mvc-2

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

c#泛型new()约束类型:(new(T))

我正在构建一个小帮手,将EF4对象转换为POCO.(我知道有AutoMapper,但我此时正处于ac #dilemma)

我怎样才能完成这项工作(P:new(E)不合法的地方我希望确保P(POCO)类作为接受E类的构造函数(因此处理转换)

我怎样才能做到这一点?

如何在C#中创建一个可以采用新(类型)约束的泛型函数?

   public static List<P> ListConvert<E, P>(List<E> efList) where P: new(E)
    {
        List<P> pList = new List<P>();

        foreach (E item in efList)
        {
            P myItem = new P(item);
            pList.Add(myItem);
        }
        return pList;
Run Code Online (Sandbox Code Playgroud)

generics c#-4.0

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