小编Fra*_*sco的帖子

使用EF4转换为datetime时发生溢出

我有一个Windows应用程序使用SQL Compact 4.0数据库,使用EF 4.1和代码优先的方法.我无法将对象保存到数据库,因为我遇到异常,在尝试保存类型报价时出现内部异常"转换为datetime时发生溢出":

public class Quotation
{
    public int ID { get; set; }

    public string Name { get; set; }

    public DateTime DateCreated { get; set; }

    public ContactPerson ContactPersonAssigned { get; set; }

    public string OurReference { get; set; }

    public string QuotationDataString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我读到这个错误可能是由于我的应用程序设置和关于日期转换的sql compact数据库设置不匹配引起的.我不确定,因为我的sdf数据库文件有一个正确命名为"DateCreated"的字段,不可为空且类型为"datetime".

我是SQL compact的新手.你能帮我调试一下这个问题吗?

asp.net-mvc sql-server-ce ef-code-first entity-framework-4.1

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

多重约束违反了SQL Server 2008 - CodeFirst

我正在努力解决一个非常乏味的问题.我有一个名为Nation的类和一个名为NationAlly的类

public class Nation   
{
    public int ID {get; set;}
    public int name {get;set;}
    public List<NationAlly> NationAllies {get;set;}
}

public class NationAlly
{
    public int ID {get; set;}
    public int level {get;set;}
    public Nation toNation {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我正在使用EF 4和CodeFirst与一个名为NationsDB的DbContext来管理我在SQL Server 2008上的数据库.如果我创建一个Nation类型的新对象,我尝试调用countriesDB.SaveChanges,我得到以下异常:

"违反了多重约束.关系'CodeFirstNamespace.NationAlly_toNation'的角色'NationAlly_toNation_Target'具有多重性1或0..1."

我试图用NationAllies字段保存Nation字段为null并且不抛出此异常,数据库中的country表获取所有正确的值.

在我的数据库中,表Nation有2个字段:ID(主键),名称表NationAlly有3个字段:ID(主键),level,NationID这两个表链接的关系是NationAlly.NationID是外键和Nation .ID是主键.

不奇怪吗?在我眼中,NationAlly表应该有一个名为NationID1的字段,另一个叫做NationID2,以创建一个国家和其他国家名单之间的"关系".

我做错了什么?

entity-framework code-first sql-server-2008

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

EF 4.1代码优先SQL ce 4.0更新集合异常

我首先在SQL ce 4.0中使用EF 4.1代码

我有两节课

public class Customer
{
    public int ID { get; set; }

    public string CompanyName { get; set; }

    public List<ContactPerson> ContactPersons { get; set; }
}

public class ContactPerson
{
    public int ID { get; set; }

    public string Name { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

和DbContext

public class MyDB : DbContext
{
    public DbSet<ContactPerson> ContactPersons { get; set; }

    public DbSet<Customer> Customers { get; set; }

    public MyDB()
    {
        this.Configuration.LazyLoadingEnabled = true;
    }

    protected override …
Run Code Online (Sandbox Code Playgroud)

ef-code-first sql-server-ce-4 entity-framework-4.1

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

VS2010:更改项目库的名称

如何以这样一种方式更改项目库的名称:

1)装配信息名称

2)物理文件夹名称

3)参考名称

我尝试了正常的重构,但它不会影响所有条目.即旧库名="实用程序",新库名="DataLayer"."Datalayer"应该在任何地方替换"Utilities".

visual-studio-2010 libraries

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

连接字符串EF 4.1代码首先在Windows窗体应用程序中使用SQL compact

我创建了一个Windows窗体应用程序:

  1. 具有多个窗体的表示库
  2. 具有数据层的类库
  3. 用于访问数据库的类库

我正在使用EntityFramework 4.1与Code First Approach和SQL Compact 4.0数据库.

我在用于连接数据库的类库项目的app.config文件中创建了一个连接字符串.问题是连接字符串显然对数据库创建没有影响.我的意思是一切都与程序一起正常工作,但即使我指定了数据库的位置,这也没有任何效果!

我在正确的app.config中写作吗?我是否需要以特定方式初始化我的DbContext类?(今天我没有在构造函数中传递任何连接字符串)

DbContext类:

public class MyDB : DbContext
{
    public DbSet<ContactPerson> ContactPersons { get; set; }

    public DbSet<Customer> Customers { get; set; }

    public DbSet<Project> Projects { get; set; }

    public DbSet<Quotation> Quotations { get; set; }

    public MyDB()
    : base("MyDatabase")
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

App.config连接字符串:

<add name="MyDatabase" connectionString="Data Source=MyDB.sdf" 
providerName="System.Data.SqlServerCE.4.0">
Run Code Online (Sandbox Code Playgroud)

connection-string sql-server-ce ef-code-first entity-framework-4.1

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

安装Entity Framework包时出错

尝试从包管理器安装最新版本的EntityFramework(4.1.10715.0)时出现了一个奇怪的错误:

未声明'schemaVersion'属性.

我怎么解决这个问题?

entity-framework nuget-package

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

Datagridview单元格样式更新

我在 datagridview 上遇到了一个奇怪的问题。我需要更改所选单元格 (A) 的样式以响应另一个单元格 (B) = x 的值。(A) 是文本框,(B) 是组合框。我捕获了 CellEndEdit 事件,当用户更改 (B) 的值时,一切正常:(A) 的样式立即更改。

现在,当我尝试以编程方式更新 datagridview 时,这不起作用。奇怪的是,这两种方式共享同一个方法,UpdateTimeChannelCell。如果我以编程方式调用此方法,datagridview 不会更新其单元格的样式。我尝试更新、刷新、使 datagridview 无效,但没有成功

        private void UpdateTimeChannelCell(DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex == 1 || e.ColumnIndex == 3 || e.ColumnIndex == 5 || e.ColumnIndex == 7 || e.ColumnIndex == 9 || e.ColumnIndex == 11 || e.ColumnIndex == 13)
        {
            if ((int)this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == 0)
            {
                this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value = new Time();
                this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Style = disableStyle;
            }
            else
            {
                this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Style = enableStyle; …
Run Code Online (Sandbox Code Playgroud)

c# user-interface datagridview visual-studio-2010 winforms

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