This question is locked. New answers and comments are not allowed.
I am facing a situation where the Open Access ORM is not generating correct code.
I have three tables in my database named "Provider" (primary key "ProviderID"), "Languages" (primary key "LanguageID")
and "ProviderLanguages" (with columns "ProviderID", "LanguageID" as FKey from Provider and Languages) which acts as a join table. One provider can have multiple languages.
When I generate "Data Access Layer"(DAL) through ORM, "Languages" lands as a non-updatable (into DB) property of "Provider". As a result, I am not able to update "Languages" when I am editing Provider through UI.
I get "Languages" as property of "Provider" type in DAL as:
If I go by "Model first" scheme and generate the "Join table" (ProviderLanguages) through Open Access ORM tool using:
http://www.telerik.com/help/openaccess-orm/developer-guide-domain-model-working-associations-many-to-many-custom-table.html, I am able to generate correct property exactly as I expect.
But how to solve this in "Database First" scenario?
TIA.
I have three tables in my database named "Provider" (primary key "ProviderID"), "Languages" (primary key "LanguageID")
and "ProviderLanguages" (with columns "ProviderID", "LanguageID" as FKey from Provider and Languages) which acts as a join table. One provider can have multiple languages.
When I generate "Data Access Layer"(DAL) through ORM, "Languages" lands as a non-updatable (into DB) property of "Provider". As a result, I am not able to update "Languages" when I am editing Provider through UI.
I get "Languages" as property of "Provider" type in DAL as:
private IList<Language> _languages = new List<Language>();[Collection(InverseProperty = "Providers")][Storage("_languages")]public virtual IList<Language> Languages { get { return this._languages; }}whereas "Providers" lands as a property of "Language" type in DAL as:
As you can see in code above, "Providers" property has the [Column()] metadata but not "Languages" property. I was expecting the opposite.private IList<Provider> _providers = new List<Provider>();[JoinTableAssociation(TableName = "ProviderLanguages", OwnerColumns = "LanguageID", TargetColumns = "ProviderID", SourceConstraint = "ref_PrvdrLnggs_Bwy_Lngages", TargetConstraint = "ref_PrvdrLnggs_Prvders")][Column("LanguageID", OpenAccessType = OpenAccessType.Int32, IsPrimaryKey = true, Length = 0, Scale = 0, SqlType = "int")][Column("ProviderID", OpenAccessType = OpenAccessType.Int32, IsPrimaryKey = true, Length = 0, Scale = 0, SqlType = "int")][Storage("_providers")]public virtual IList<Provider> Providers { get { return this._providers; }}If I go by "Model first" scheme and generate the "Join table" (ProviderLanguages) through Open Access ORM tool using:
http://www.telerik.com/help/openaccess-orm/developer-guide-domain-model-working-associations-many-to-many-custom-table.html, I am able to generate correct property exactly as I expect.
But how to solve this in "Database First" scenario?
TIA.