【问题标题】:ADO.NET Entity Framework: Create an Object Using the Static Create Method (C#)ADO.NET 实体框架:使用静态创建方法 (C#) 创建对象
【发布时间】:2009-03-17 07:39:15
【问题描述】:

这是我写的:

using (GuiaMovilEntities guiaEntity = new GuiaMovilEntities()) { try { Cliente cliente = Cliente.CreateCliente(-1, datosCliente.Email, datosCliente.Password); } catch { } }

未完成。

如果表 Cliente(由 Cliente 对象表示)的第一行(clienteID)作为 IDENTITY 列。

将 -1 作为 clienteID 值是否正确?

谢谢!

【问题讨论】:

    标签: c# entity-framework ado.net


    【解决方案1】:

    身份参数是自动生成的 - 您不需要自己指定值。

    【讨论】:

    • 那么您应该使用实体框架对象创建的默认静态 Create 方法还是直接输入 0 作为 ID?
    • 我想如果它是自动生成的,你根本不需要输入任何东西。当然不要将0 分配给ID。
    • 嗯,当我从我拥有的数据库中生成 .edmx 时,我的情况似乎并非如此,尽管这可能是另一个问题。
    【解决方案2】:

    这是另一个选择:

    Cliente cliente = new Cliente
    {
        Email = datosCliente.Email,
        Password = datosCliente.Password
    };
    

    【讨论】:

      【解决方案3】:

      不,您不需要设置 ID。从工厂方法中删除参数并将 Id 值保留为默认值(我想在这种情况下为零)。

      【讨论】:

        【解决方案4】:

        如果您真的想要一个非 0 的未定义 id,例如 -1,您可以为您的实体实现默认构造函数并将其设置在那里。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-24
          • 1970-01-01
          • 1970-01-01
          • 2017-04-03
          • 1970-01-01
          • 1970-01-01
          • 2011-07-29
          • 2013-03-15
          相关资源
          最近更新 更多