小编Sar*_*els的帖子

缺少Embed Interop Type属性

在一个C#项目中,我收到以下警告:

警告CS1762:由于间接引用由程序集"ALibraryOfMine.dll"创建的程序集,因此创建了嵌入式互操作程序集"Interop.SomeLibrary.dll"的引用.考虑更改任一程序集上的"嵌入互操作类型"属性.

但是,在提供此警告的C#项目中,我没有在COM库引用属性上看到Embed Interop Types属性.这是在VS 2010中.在VS 2008 ALibraryOfMine项目中,同一个COM库也没有Embed Interop Types属性.我怎么能摆脱这个警告?我一直在得到"找到的程序集的清单定义与程序集引用不匹配"错误,我担心可能有不同版本的COM库,因此我想消除与COM相关的错误.

.net com interop warnings visual-studio

17
推荐指数
1
解决办法
2万
查看次数

Git:将现有存储库从PC移动到服务器,从服务器克隆

我在本地计算机上有一个现有的Git存储库.我想将该存储库移动到我的Web服务器,然后git clone在我的本地机器上从服务器检出我的存储库.我计划在我的本地计算机上进行开发并将更新推送回服务器.我可以从本地机器ssh到服务器,但反之亦然.我该怎么办呢?我认为应该以某种方式使用git bundle,但是当我尝试git clone在我的服务器上捆绑时,我得到了一个"警告:远程HEAD指的是不存在的ref,无法检出"错误.我的本地机器正在运行OS X,服务器正在运行Linux.

git version-control command-line repository

16
推荐指数
2
解决办法
8895
查看次数

SQLAlchemy - 关于连接表的关系的order_by

我使用SQLAlchemy的声明和我有三个型号: Role,Permission,和RolePermission.在我的Role模型中,我有以下内容:

class Role(Base):
    name = Column(u'NAME', VARCHAR(50), nullable=False, unique=True)
    permissionLinks = relationship(RolePermission, backref="role", order_by=name)
    permissions = relationship(Permission, backref=backref("roles",
      order_by=name), secondary=RolePermission.__table__,
      order_by=Permission.name)
Run Code Online (Sandbox Code Playgroud)

现在permissions声明工作正常,与角色关联的权限按照我的预期(按名称)排序.但是,permissionLinks失败并出现以下错误:

sqlalchemy.exc.ProgrammingError :( ProgrammingError)('42000','[42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法绑定多部分标识符"ROLES.NAME".(4104)( SQLExecDirectW); [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]语句无法准备.(8180)')u'SELECT [ROLES_PERMISSIONS].[ROLE_ID] AS [ROLES_PERMISSIONS_ROLE_ID],[ROLES_PERMISSIONS ].[PERMISSION_ID] AS [ROLES_PERMISSIONS_PERMISSION_ID],[ROLES_PERMISSIONS].[IS_DENIED] AS [ROLES_PERMISSIONS_IS_DENIED] \nFROM [ROLES_PERMISSIONS] \nWHERHER [ROLES_PERMISSIONS].[ROLE_ID] =?订单[ROLES].[NAME]'(19,)

问题是Role没有加入,所以它无法排序Role.name.我尝试过指定primaryjoin=id == RolePermission.id1,但这似乎没有改变任何东西.如何在此关系上指定连接,以便我可以按其中一个连接表(即Role.name)中的字段进行排序?

python sql model sqlalchemy declarative

15
推荐指数
3
解决办法
1万
查看次数

SQLAlchemy - 不对关系强制执行外键约束

我有一个Test模型/表和一个TestAuditLog模型/表,使用SQLAlchemy和SQL Server 2008.两者之间的关系是Test.id == TestAuditLog.entityId,一个测试有许多审计日志. TestAuditLog旨在保留Test表中行的更改历史记录.我想跟踪Test删除的时间,但是,我遇到了麻烦.在SQL Server Management Studio中,我将FK_TEST_AUDIT_LOG_TEST关系的" 强制外键约束 "属性设置为"否",认为这将允许TestAuditLog存在一个entityId不再连接到任何行的行,Test.id因为Test已删除.但是,当我尝试TestAuditLog使用SQLAlchemy 创建一个然后删除它时Test,我收到一个错误:

(IntegrityError)('23000',"[23000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法将值NULL插入列'AL_TEST_ID',表'TEST_AUDIT_LOG';列不允许空值.UPDATE失败. (515)(SQLExecDirectW); [01000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]语句已终止.(3621)")u'UPDATE [TEST_AUDIT_LOG] SET [AL_TEST_ID] =?WHERE [TEST_AUDIT_LOG].[AL_ID] =?' (无,8)

我想是因为之间的外键关系TestTestAuditLog,我删除后Test列,SQLAlchemy的试图更新所有测试的审计日志有NULL entityId.我不希望它这样做; 我希望SQLAlchemy单独保留审计日志.如何告诉SQLAlchemy允许存在entityId不与任何连接的审计日志Test.id

我试图ForeignKey从我的表中删除,但我仍然可以说myTest.audits并获得所有测试的审计日志,并且SQLAlchemy抱怨不知道如何加入Test …

python sql-server join sqlalchemy foreign-keys

14
推荐指数
1
解决办法
1万
查看次数

SQLAlchemy声明性模型的数据验证

我在Web应用程序中使用CherryPy,Mako模板和SQLAlchemy.我来自Ruby on Rails背景,我正在尝试为我的模型设置一些数据验证.我无法找出确保"名称"字段在某个其他字段具有值时具有值的最佳方法.我尝试使用SAValidation,但它允许我创建新行,其中所需列为空,即使我validates_presence_of在列上使用.我一直在看WTForms,但这似乎涉及很多重复的代码 - 我已经用表中的列设置了我的模型类,为什么我需要再次重复所有这些列只是为了说"嘿这个一个人需要一个价值"?我是从"现身瘦控制器,脂肪模型 "的心态,一直在寻找在我的模型像Rails的类似的方法validates_presence_ofvalidates_length_of.我应该如何验证模型收到的数据,并在验证失败时确保Session.add/ Session.merge失败?

python validation model sqlalchemy cherrypy

13
推荐指数
2
解决办法
1万
查看次数

一个DLL,多个项目?

是否可以强制我的C#解决方案文件生成包含解决方案中所有项目的单个DLL,而不是每个项目一个DLL? 这个家伙说这是不可能的,但我注意到这是2004年的帖子.我使用的是Visual Studio 2008 Team System,它是一个C#应用程序.

.net dll visual-studio

12
推荐指数
2
解决办法
1万
查看次数

在C#中使用yield就像在Ruby中一样

除了yield在Ruby中使用迭代器之外,我还使用它将控制权简单地传递回调用者,然后在被调用的方法中恢复控制.我想在C#中做的事情是类似的.在测试类中,我想获取一个连接实例,创建另一个使用该连接的变量实例,然后将该变量传递给调用方法,以便可以进行调整.然后,我希望控制返回到被调用的方法,以便可以处理连接.我想我想要像Ruby一样的块/闭包.这是一般的想法:

private static MyThing getThing()
{
    using (var connection = new Connection())
    {
        yield return new MyThing(connection);
    }
}

[TestMethod]
public void MyTest1()
{
    // call getThing(), use yielded MyThing, control returns to getThing()
    // for disposal
}

[TestMethod]
public void MyTest2()
{
    // call getThing(), use yielded MyThing, control returns to getThing()
    // for disposal
}

...
Run Code Online (Sandbox Code Playgroud)

这在C#中不起作用; ReSharper告诉我,body getThing不能是迭代器块,因为MyThing它不是迭代器接口类型.这绝对是正确的,但我不想迭代一些列表.我猜我不应该使用,yield如果我不使用迭代器.任何想法,我怎样才能实现在C#此块/关闭的事情,所以我没有给缠上了我的代码MyTest1,MyTest2......与代码getThing()的身上?

c# closures yield dry

12
推荐指数
2
解决办法
1350
查看次数

C# - 如何将'out'参数传递给lambda表达式

我有一个带有以下签名的方法:

private PropertyInfo getPropertyForDBField(string dbField, out string prettyName)
Run Code Online (Sandbox Code Playgroud)

在其中,我prettyName根据给定的值找到相关值dbField.然后,我想要查找具有该名称的所有属性(如果有)prettyName,因此我尝试执行以下操作:

IEnumerable<PropertyInfo> matchingProperties =
    getLocalProperties().Where(prop =>
        prop.Name.Equals(prettyName)
    );
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下错误:

不能在匿名方法,lambda表达式或查询表达式中使用ref或out参数'prettyName'

通过我试图prettyNameWherelambda参数中使用的方法中的点,prettyName肯定是初始化的.我return如果prettyName无法初始化为有效值.我可以在这里做一些技巧让我prettyName在lambda表达式中使用吗?

编辑:如果重要的话,我正在使用.NET 3.5.

c# linq lambda out-parameters

12
推荐指数
2
解决办法
2万
查看次数

Drupal 7 - 自定义视图与自定义表,没有数据显示

我使用Drupal 7编写了一个与Views 3接口的模块,但是当我使用自定义表作为数据源创建视图时,没有数据显示出来.这是MySQL的架构:

+-------------+------------+------+-----+---------+----------------+
| Field       | Type       | Null | Key | Default | Extra          |
+-------------+------------+------+-----+---------+----------------+
| id          | int(11)    | NO   | PRI | NULL    | auto_increment |
| title       | mediumtext | NO   |     | NULL    |                |
| Department  | text       | NO   |     | NULL    |                |
| credits     | int(10)    | NO   |     | NULL    |                |
| description | longtext   | NO   |     | NULL    |                |
+-------------+------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

这是my_module.views.inc中的钩子覆盖:

function my_module_views_data() { …
Run Code Online (Sandbox Code Playgroud)

php mysql drupal drupal-views drupal-7

12
推荐指数
1
解决办法
4547
查看次数

使用XPath查询从匹配的XML节点获取属性值

这似乎不应该是困难的,但我现在卡住了.我正在尝试从与给定XPath查询字符串匹配的节点获取特定属性的属性值.这是我到目前为止所拥有的:

    public static IEnumerable<string> GetAttributes(this XmlDocument xml,
        string xpathQuery, string attributeName)
    {
        var doc = new XPathDocument(new XmlNodeReader(xml));
        XPathNavigator nav = doc.CreateNavigator();
        XPathExpression expr = nav.Compile(xpathQuery);
        XPathNodeIterator iterator = nav.Select(expr);
        while (iterator.MoveNext())
        {
            XPathNavigator curNav = iterator.Current;
            if (curNav.HasAttributes)
            {
                XmlNode curNode = ((IHasXmlNode)curNav).GetNode();
                if (null != curNode)
                {
                    XmlAttribute attrib = curNode.Attributes[attributeName];
                    if (null != attrib)
                    {
                        yield return attrib.Value;
                    }
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

这目前抛出异常:

System.InvalidCastException:无法将类型为"MS.Internal.Xml.Cache.XPathDocumentNavigator"的对象强制转换为"System.Xml.IHasXmlNode".

我错了吗?是否有更简单的方法从匹配节点获取属性值?

c# xml extension-methods xpath xpathnavigator

11
推荐指数
2
解决办法
6万
查看次数