Sagar Upadhyay
Sagar Upadhyay

Reputation: 819

AddObject is not working

In my .net (3.5) application with EF I use following code to insert new record, but AddObject() is not working.

I am surprise because it happens first time, even before when I had worked on EF at that time its was working.

My code

    public void NewAirline(string name, string sname, string remark)
    {
        GsecEntities e = new GsecEntities();
        tbAirLine al = new tbAirLine()
        {
            Name = name,
            Remark = remark,
            ShortName = sname
        };
        e.tbAirLines.AddObject(al);
        e.SaveChanges();
    }

As suggestion Here I am writing code of tbAirline

    public partial class GsecEntities : global::System.Data.Objects.ObjectContext
{
    /// <summary>
    /// Initializes a new GsecEntities object using the connection string found in the 'GsecEntities' section of the application configuration file.
    /// </summary>
    public GsecEntities() : 
            base("name=GsecEntities", "GsecEntities")
    {
        this.OnContextCreated();
    }
    /// <summary>
    /// Initialize a new GsecEntities object.
    /// </summary>
    public GsecEntities(string connectionString) : 
            base(connectionString, "GsecEntities")
    {
        this.OnContextCreated();
    }
    /// <summary>
    /// Initialize a new GsecEntities object.
    /// </summary>
    public GsecEntities(global::System.Data.EntityClient.EntityConnection connection) : 
            base(connection, "GsecEntities")
    {
        this.OnContextCreated();
    }
    partial void OnContextCreated();
    /// <summary>
    /// There are no comments for tbAirLines in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbAirLine> tbAirLines
    {
        get
        {
            if ((this._tbAirLines == null))
            {
                this._tbAirLines = base.CreateQuery<tbAirLine>("[tbAirLines]");
            }
            return this._tbAirLines;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbAirLine> _tbAirLines;
    /// <summary>
    /// There are no comments for tbBanks in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbBank> tbBanks
    {
        get
        {
            if ((this._tbBanks == null))
            {
                this._tbBanks = base.CreateQuery<tbBank>("[tbBanks]");
            }
            return this._tbBanks;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbBank> _tbBanks;
    /// <summary>
    /// There are no comments for tbCities in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbCity> tbCities
    {
        get
        {
            if ((this._tbCities == null))
            {
                this._tbCities = base.CreateQuery<tbCity>("[tbCities]");
            }
            return this._tbCities;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbCity> _tbCities;
    /// <summary>
    /// There are no comments for tbCommodities in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbCommodity> tbCommodities
    {
        get
        {
            if ((this._tbCommodities == null))
            {
                this._tbCommodities = base.CreateQuery<tbCommodity>("[tbCommodities]");
            }
            return this._tbCommodities;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbCommodity> _tbCommodities;
    /// <summary>
    /// There are no comments for tbCountries in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbCountry> tbCountries
    {
        get
        {
            if ((this._tbCountries == null))
            {
                this._tbCountries = base.CreateQuery<tbCountry>("[tbCountries]");
            }
            return this._tbCountries;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbCountry> _tbCountries;
    /// <summary>
    /// There are no comments for tbFlights in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbFlight> tbFlights
    {
        get
        {
            if ((this._tbFlights == null))
            {
                this._tbFlights = base.CreateQuery<tbFlight>("[tbFlights]");
            }
            return this._tbFlights;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbFlight> _tbFlights;
    /// <summary>
    /// There are no comments for tbGrpCommodities in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbGrpCommodity> tbGrpCommodities
    {
        get
        {
            if ((this._tbGrpCommodities == null))
            {
                this._tbGrpCommodities = base.CreateQuery<tbGrpCommodity>("[tbGrpCommodities]");
            }
            return this._tbGrpCommodities;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbGrpCommodity> _tbGrpCommodities;
    /// <summary>
    /// There are no comments for tbPersons in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbPerson> tbPersons
    {
        get
        {
            if ((this._tbPersons == null))
            {
                this._tbPersons = base.CreateQuery<tbPerson>("[tbPersons]");
            }
            return this._tbPersons;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbPerson> _tbPersons;
    /// <summary>
    /// There are no comments for tbPersonTypes in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public global::System.Data.Objects.ObjectQuery<tbPersonType> tbPersonTypes
    {
        get
        {
            if ((this._tbPersonTypes == null))
            {
                this._tbPersonTypes = base.CreateQuery<tbPersonType>("[tbPersonTypes]");
            }
            return this._tbPersonTypes;
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private global::System.Data.Objects.ObjectQuery<tbPersonType> _tbPersonTypes;
    /// <summary>
    /// There are no comments for tbAirLines in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbAirLines(tbAirLine tbAirLine)
    {
        base.AddObject("tbAirLines", tbAirLine);
    }
    /// <summary>
    /// There are no comments for tbBanks in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbBanks(tbBank tbBank)
    {
        base.AddObject("tbBanks", tbBank);
    }
    /// <summary>
    /// There are no comments for tbCities in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbCities(tbCity tbCity)
    {
        base.AddObject("tbCities", tbCity);
    }
    /// <summary>
    /// There are no comments for tbCommodities in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbCommodities(tbCommodity tbCommodity)
    {
        base.AddObject("tbCommodities", tbCommodity);
    }
    /// <summary>
    /// There are no comments for tbCountries in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbCountries(tbCountry tbCountry)
    {
        base.AddObject("tbCountries", tbCountry);
    }
    /// <summary>
    /// There are no comments for tbFlights in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbFlights(tbFlight tbFlight)
    {
        base.AddObject("tbFlights", tbFlight);
    }
    /// <summary>
    /// There are no comments for tbGrpCommodities in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbGrpCommodities(tbGrpCommodity tbGrpCommodity)
    {
        base.AddObject("tbGrpCommodities", tbGrpCommodity);
    }
    /// <summary>
    /// There are no comments for tbPersons in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbPersons(tbPerson tbPerson)
    {
        base.AddObject("tbPersons", tbPerson);
    }
    /// <summary>
    /// There are no comments for tbPersonTypes in the schema.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public void AddTotbPersonTypes(tbPersonType tbPersonType)
    {
        base.AddObject("tbPersonTypes", tbPersonType);
    }
}
/// <summary>
/// There are no comments for GsecModel.tbAirLine in the schema.
/// </summary>
/// <KeyProperties>
/// Id
/// </KeyProperties>
[global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="GsecModel", Name="tbAirLine")]
[global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
[global::System.Serializable()]
public partial class tbAirLine : global::System.Data.Objects.DataClasses.EntityObject
{
    /// <summary>
    /// Create a new tbAirLine object.
    /// </summary>
    /// <param name="id">Initial value of Id.</param>
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public static tbAirLine CreatetbAirLine(long id)
    {
        tbAirLine tbAirLine = new tbAirLine();
        tbAirLine.Id = id;
        return tbAirLine;
    }
    /// <summary>
    /// There are no comments for property Id in the schema.
    /// </summary>
    [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
    [global::System.Runtime.Serialization.DataMemberAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public long Id
    {
        get
        {
            return this._Id;
        }
        set
        {
            this.OnIdChanging(value);
            this.ReportPropertyChanging("Id");
            this._Id = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
            this.ReportPropertyChanged("Id");
            this.OnIdChanged();
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private long _Id;
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnIdChanging(long value);
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnIdChanged();
    /// <summary>
    /// There are no comments for property Name in the schema.
    /// </summary>
    [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
    [global::System.Runtime.Serialization.DataMemberAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public string Name
    {
        get
        {
            return this._Name;
        }
        set
        {
            this.OnNameChanging(value);
            this.ReportPropertyChanging("Name");
            this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
            this.ReportPropertyChanged("Name");
            this.OnNameChanged();
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private string _Name;
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnNameChanging(string value);
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnNameChanged();
    /// <summary>
    /// There are no comments for property ShortName in the schema.
    /// </summary>
    [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
    [global::System.Runtime.Serialization.DataMemberAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public string ShortName
    {
        get
        {
            return this._ShortName;
        }
        set
        {
            this.OnShortNameChanging(value);
            this.ReportPropertyChanging("ShortName");
            this._ShortName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
            this.ReportPropertyChanged("ShortName");
            this.OnShortNameChanged();
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private string _ShortName;
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnShortNameChanging(string value);
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnShortNameChanged();
    /// <summary>
    /// There are no comments for property Remark in the schema.
    /// </summary>
    [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
    [global::System.Runtime.Serialization.DataMemberAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    public string Remark
    {
        get
        {
            return this._Remark;
        }
        set
        {
            this.OnRemarkChanging(value);
            this.ReportPropertyChanging("Remark");
            this._Remark = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
            this.ReportPropertyChanged("Remark");
            this.OnRemarkChanged();
        }
    }
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    private string _Remark;
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnRemarkChanging(string value);
    [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
    partial void OnRemarkChanged();
}

And its give following error

Error 1 'System.Data.Objects.ObjectQuery' does not contain a definition for 'AddObject' and no extension method 'AddObject' accepting a first argument of type 'System.Data.Objects.ObjectQuery' could be found (are you missing a using directive or an assembly reference?)

Upvotes: 2

Views: 2478

Answers (1)

Caramiriel
Caramiriel

Reputation: 7277

.NET version 3.5 exposes ObjectQuery<T> versus ObjectSet<T> in .NET 4.0. Therefor you will need to use either e.AddTotbAirLines(tbAirLine) or e.AddObject("tbAirLines", tbAirLine). Both can be found on line 185 of the submitted generated code. In .NET 4.0 they decided to implement it like you were showing in your question.

Upvotes: 3

Related Questions