OK, I'd abuse right to "commit then be accused" ;-)

Thanks,
Atsushi Eno

Pascal Craponne wrote:
> Hi Atsushi.
> 
> I think you can commit (it wasn't probably worth asking :)).
> 
> Pascal.
> 
> On Fri, Oct 24, 2008 at 20:34, Atsushi Eno <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     Hi,
> 
>     I have a small patch to implement {what the subject says}, which
>     is somehow used in my ASP.NET <http://ASP.NET> DynamicData sample.
> 
>     I'm not sure if it is what DBLinq exactly wants, but here is
>     what I tried against .NET (pass 0 to 2 arguments):
> 
>     ----
>     using System;
>     using System.Collections.Generic;
>     using System.Data.Linq;
>     public class Test {
>            public static void Main (string [] args)
>            {
>                    var er = new EntityRef<Foo>
>     (Array.ConvertAll<string,Foo> (
>                            args, s => new Foo (s)));
>                    Console.WriteLine (er.HasLoadedOrAssignedValue);
>                    Console.WriteLine (er.Entity);
>            }
>     }
>     public class Foo {
>            public Foo (string s)
>            {
>                    S = s;
>            }
>            public string S;
>            public override string ToString ()
>            {
>                    return "<" + S + ">";
>            }
>     }
>     ----
> 
>     Atsushi Eno
> 
> 
> 
>     Index: src/DbLinq/Data/Linq/EntityRef.cs
>     ===================================================================
>     --- src/DbLinq/Data/Linq/EntityRef.cs   (revision 115081)
>     +++ src/DbLinq/Data/Linq/EntityRef.cs   (working copy)
>     @@ -42,9 +42,11 @@
>         {
>             private TEntity entity;
>             private bool hasLoadedOrAssignedValue;
>     +        private IEnumerable<TEntity> source;
> 
>             public EntityRef(TEntity entity)
>             {
>     +            this.source = null;
>                 this.entity = entity;
>                 hasLoadedOrAssignedValue = true;
>             }
>     @@ -52,11 +54,14 @@
>             [DbLinqToDo]
>             public EntityRef(IEnumerable<TEntity> source)
>             {
>     -            throw new NotImplementedException();
>     +            this.source = source;
>     +            hasLoadedOrAssignedValue = false;
>     +            entity = null;
>             }
> 
>             public EntityRef(EntityRef<TEntity> entityRef)
>             {
>     +            this.source = null;
>                 this.entity = entityRef.Entity;
>                 hasLoadedOrAssignedValue = true;
>             }
>     @@ -65,6 +70,14 @@
>             {
>                 get
>                 {
>     +                if (source != null) {
>     +                    foreach (var s in source) {
>     +                        if (entity != null)
>     +                            throw new InvalidOperationException
>     ("Sequence contains more than one element");
>     +                        entity = null;
>     +                    }
>     +                    source = null;
>     +                }
>                     return entity;
>                 }
>                 set
> 
> 
> 
> 
> -- 
> Pascal.
> 
> jabber/gtalk: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> msn: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> 
> 
> > 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DbLinq" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/dblinq?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to