POCO エンティティを使用して Entity Framework 4.0 で SaveChanges() を呼び出そうとすると、次のエラーが発生します。
System.InvalidOperationException occurred
HResult=-2146233079
Message=No views were found in assemblies or could be generated for Table 'FnclAttribute'.
Source=System.Data.Entity
StackTrace:
at System.Data.Mapping.StorageMappingItemCollection.ViewDictionary.GetGeneratedView(EntitySetBase extent, MetadataWorkspace workspace, StorageMappingItemCollection storageMappingItemCollection)
at System.Data.Mapping.Update.Internal.UpdateTranslator.<ProduceDynamicCommands>d__0.MoveNext()
at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
at System.Data.Mapping.Update.Internal.UpdateCommandOrderer..ctor(IEnumerable`1 commands, UpdateTranslator translator)
at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
at Manatron.AR.Model.Financial.FinancialRepository.PersistFinancialSources(IEnumerable`1 financialSources) in C:\CorpDev\GRM\Dev\AR\AR.Model\Financial\FinancialRepository.cs:line 66
InnerException:
App.Config ファイルの csdl と ssdl に関して、これに対する正しいマッピングがあるようです。この保存操作を呼び出すために使用しているコードは次のとおりです。
public void PersistFinancialSources( IEnumerable<IFinancialSource> financialSources )
{
using (FinancialDataContext financialDataContext = _financialDataContextFactory.Create())
{
foreach (IFinancialSource financialSource in financialSources)
{
var financialSourceEntity = financialSource as FinancialSource;
if (financialSourceEntity != null)
{
IEnumerable<IFinancialAttribute> newFinancialAttributes =
from financialAmount in financialSource.FinancialAmounts
where financialAmount.FinancialAttribute.Id < 0
select financialAmount.FinancialAttribute;
foreach (FinancialAttribute financialAttribute in newFinancialAttributes)
{
financialDataContext.FinancialAttributes.AddObject(financialAttribute);
}
}
}
financialDataContext.SaveChanges(SaveOptions.None);
}
}
何が問題なのか手がかりはありますか? このエラーに関する情報を見つけることができません...