public void PrimitiveKeyInfoIsEmpty() { var keyInfo = PrimitiveKeyInfo.Create((Member g) => g.GroupId); Assert.IsTrue(keyInfo.IsEmptyKey(null)); Assert.IsFalse(keyInfo.IsEmptyKey(1)); }
public void PrimitiveKeyInfoComparer() { var keyInfo = PrimitiveKeyInfo.Create((Member g) => g.GroupId); var comparer = keyInfo.KeyComparer; Assert.AreEqual(0, comparer.Compare(null, null)); Assert.AreEqual(-1, comparer.Compare(null, 1)); Assert.AreEqual(1, comparer.Compare(1, null)); Assert.AreEqual(0, comparer.Compare(1, 1)); Assert.AreEqual(-1, comparer.Compare(0, 1)); Assert.AreEqual(1, comparer.Compare(1, 0)); }
public bool TryCreateKeyInfo <TEntity, TKey>( Expression <Func <TEntity, TKey> > keySelector, out IKeyInfo <TEntity, TKey> result) where TEntity : class { if (!ValidateType(typeof(TKey))) { result = null; return(false); } IKeyInfoHelper helper = PrimitiveKeyInfo <TEntity, TKey> .KeyInfoHelper; MemberInfo[] members; if (!helper.TryParseKeySelectorExpression(keySelector.Body, true, out members)) { result = null; return(false); } result = new PrimitiveKeyInfo <TEntity, TKey>(members[0]); return(true); }
public void PrimitiveKeyInfoCreation() { var keyInfo = PrimitiveKeyInfo.Create((Group g) => g.Id); Assert.AreEqual(1, keyInfo.EntityKeyMembers.Length); }