我已经使用Entity Framework 4.1创建了一个通用存储库项目,当它作为现有项目添加到我们的项目时,它可以很好地工作,但是当它被引用为dll时它不适用于它们.
我收到这个错误
数据库"master"中的CREATE DATABASE权限被拒绝.
但我已经添加了app.config
文件并将相关的连接字符串设置为我的SQL Server 2005数据库(我已将其用作DbContext
类型我的上下文)
请帮我.
这是我的连接字符串:
<configuration>
<connectionStrings>
<add name="TasksEntities"
connectionString="server=(local); database=Tasks; trusted_connection=false; User=sa; Password=****; Persist Security Info=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud) 我正在编写一个通用存储库,用于我使用实体框架CTP5的每个模型CRUD操作,如下所示:
public class BaseRepository<TEntity> : IRepository<TEntity> where TEntity : BaseEntity
{
public DbContext Context { get; set; }
public void Insert(TEntity entity)
{
if (Context.Entry<TEntity>(entity).State == EntityState.Detached)
{
Context.Set<TEntity>().Attach(entity);
}
Context.Set<TEntity>().Add(entity);
Context.SaveChanges();
}
public void Delete(int id)
{
TEntity entity = Context.Set<TEntity>().Find(id);
if (Context.Entry<TEntity>(entity).State == EntityState.Detached)
{
Context.Set<TEntity>().Attach(entity);
}
Context.Set<TEntity>().Remove(entity);
Context.SaveChanges();
}
public void Delete(TEntity entity)
{
Context.Set<TEntity>().Remove(entity);
Context.SaveChanges();
}
public void Update(TEntity entity)
{
TEntity status = Context.Set<TEntity>().Find(entity.Id);
status = entity;
Context.SaveChanges();
}
public TEntity GetFirst()
{
var entity …
Run Code Online (Sandbox Code Playgroud) 我希望通过循环遍历它们并使用如下反射来获取MDI表单值的每个ToolStripMenuItem:
FieldInfo[] menuitems = GetType().GetFields(BindingFlags.GetField |
BindingFlags.NonPublic | BindingFlags.Instance);
foreach (var item in menuitems )
if (item.FieldType.Equals(typeof(ToolStripMenuItem)))
MessageBox.Show(
item.FieldType.GetProperty("Tag").GetValue(item, null).ToString());
Run Code Online (Sandbox Code Playgroud)
但我得到"对象不匹配目标类型"错误,我很困惑,不知道指定哪个对象作为获取值的源对象.
请指导我...提前谢谢你.