1

私は別のバグを見つけたと思います:

複数列の外部キーを持つオブジェクトがあります:

public class ConexionPalanca {
    public int ConexionPalancaID { get; set; }

    public int PalancaOrigenID { get; set; }
    public int PerspectivaOrigenID { get; set; }
    public int PanelOrigenID { get; set; }
    public virtual Palanca PalancaOrigen { get; set; }
}

public ConexionPalancaConfiguration() {
        HasKey(cp => cp.ConexionPalancaID);
        Property( p => p.ConexionPalancaID )
            .IsRequired()
            .HasDatabaseGeneratedOption( DatabaseGeneratedOption.Identity );

        HasRequired( cp => cp.PalancaOrigen ).WithMany().HasForeignKey( cp => new { cp.PanelOrigenID, cp.PerspectivaOrigenID, cp.PalancaOrigenID } ).WillCascadeOnDelete( false );
}

この関数を使用して新しいオブジェクトを作成しようとしています。

var createConexion = function (origen, destino, panel) {
    var metadataStore = manager.metadataStore;
    var conexionType = metadataStore.getEntityType("ConexionPalanca");
    var newConexion = conexionType.createEntity();

    manager.addEntity(newConexion);

    newConexion.PalancaDestino(destino);
    newConexion.PalancaOrigen(origen);
    newConexion.Panel(panel);
    newConexion.Activa(true);

    return newConexion;
};

そして、新しいオブジェクトには、(saveBundleから)正しく割り当てられた外部キーの一部しか含まれていないようです。

{
 "entities": [
  {
    "ConexionPalancaID": -1,
    "PanelID": 1,
    "PalancaOrigenID": 0,
    "PerspectivaOrigenID": 0,
    "PanelOrigenID": 1,
    "Anchor": "RightMiddle",
    "Activa": true,
    "entityAspect": {
        "entityTypeName": "ConexionPalanca:#CMIMVC4.DOM",
        "entityState": "Added",
        "originalValuesMap": {},
        "autoGeneratedKey": {
        "propertyName": "ConexionPalancaID",
        "autoGeneratedKeyType": "Identity"
      }
    }
  }
],
"saveOptions": {
  "allowConcurrentSaves": false
}
}

私は何か間違ったことをしていますか、それともバグですか?

ありがとうございました。

4

1 に答える 1

2

わかりました。これはバグでしたが、breezev0.75.2で修正されました...そして見つけてくれてありがとう。:)

于 2012-12-08T01:28:36.917 に答える