相关疑难解决方法(0)

实体框架6代码第一个默认值

是否有"优雅"的方式给特定属性一个默认值?

也许通过DataAnnotations,类似于:

[DefaultValue("true")]
public bool Active { get; set; }
Run Code Online (Sandbox Code Playgroud)

谢谢.

entity-framework default-value ef-code-first

187
推荐指数
9
解决办法
20万
查看次数

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

我收到此错误:

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

而我正在尝试从MySQL数据库中获取数据.我的MySQL数据库中有date数据类型.但是在将其检索到我的数据表中时,它会得到上面的错误.

我怎样才能解决这个问题?

.net mysql asp.net asp.net-3.5

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

实体框架:StoreGeneratedPattern ="Computed"属性

我有一个DateTime房产.我需要这个属性的默认值DateTime.Now.然后我发现您可以指定一个属性StoreGeneratedPattern="Computed"并将其设置为(getdate())SQL.这成功了.但我无法在代码中更改此属性.有时我需要将此属性更改为任何DateTime值.但是我的更改没有保存.

c# entity-framework sql-server-2005 ado.net-entity-data-model

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

使用Code First EF4.1进行保存时,如何向属性添加默认值?

我开始创建这样的模型:

public abstract class EditableBase
{
    public DateTime CreatedOn { get; set; }
    public DateTime ModifiedOn { get; set; }

    public int CreatedBy { get; set; }
    public int ModifiedBy { get; set; }
}

public class Project : EditableBase
{
    public int ProjectId { get; set; }
    public string ProjectName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在应用程序启动时使用此行:

Database.SetInitializer<ModelContext>(
            new DropCreateDatabaseIfModelChanges<ModelContext>());
Run Code Online (Sandbox Code Playgroud)

创建一个名为Projects的表,其中包含上面提到的所有属性...这正是我想要的.

但是,现在我需要在DbContext上发出SaveChanges()时填充一些默认值.当我保存时,我需要使用适当的值更新ModifiedOn和ModifiedBy属性.

通常我至少会在数据库端(触发器或存储过程)执行DateTime值,但这显然不是一个选项,因为数据库将在类更改时随时删除.因为我先做了代码,所以我没有一个可以调整属性的模型设计器.

我想要做的是在EditableBase类中添加一个方法,该方法在执行SaveChanges()时被调用,从而将所有逻辑都保存在一个地方.是否有可能做到这一点?实现目标的最佳方法是什么?

c# entity-framework entity-framework-4.1

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

将默认值设置为c#上的属性

可能重复:
将DateTime属性的默认值设置为System.ComponentModel内的DateTime.Now默认值Attrbute

我创建一个像日历一样的控件,我希望用户设置他们想要查看的年份.但如果他们不这样做,SelectedYear的财产必须是实际的年份.

我尝试像这样设置此默认值:

[DefaultValue(DateTime.Today.Year)]
public int SelectedYear{
    get{
        return _selYear;
    }
    set{
        _selYear = value;
        UpdateCalendar();
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
Run Code Online (Sandbox Code Playgroud)

c#

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